Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielgenerierung einer Excel-Überwachungstabelle für eine C#-Operation im Excel-Stil

Beispielgenerierung einer Excel-Überwachungstabelle für eine C#-Operation im Excel-Stil

黄舟
黄舟Original
2017-03-02 11:41:331392Durchsuche

C#-Beispiel für die Bedienung im EXCEL-Stil – Generieren einer EXCEL-Prüftabelle

 #region 生成审计表
        public static void GenerateAccountGrid(
        string fileName, 
        string tableName, 
        string companyName, 
        string owner, 
        DateTime endline, 
        string copyMan, AnalysisEnt ent)
        {
            try
            {
                DataTable dt = new DataTable();
                dt.Columns.Add(tableName);
                dt.Columns.Add("");
                dt.Columns.Add("");
                dt.Columns.Add("");
                dt.Columns.Add("");
                dt.Columns.Add("");
                //AddNewRow(ref dt, 6, "", "", "", tableName, "", "");
                AddNewRow(ref dt, 6, "被审计单位名称:", companyName, "编制人:" + owner, "", "日期: " + DateTime.Now.ToShortDateString(), "");
                AddNewRow(ref dt,  6, "会计期间或截止日期:" + endline, "", "复制人:" + copyMan, "", "索引号:" + "YIZK-" + DateTime.Now.Millisecond.ToString());
                AddNewRow(ref dt, 6, " ", " ", " ", " ", "页次: 1", "");
                AddNewRow(ref dt, 6, "项目名称", "期末未审计数", "摘要", "账项调整", "重分类调整", "期末审定数");
                AddNewRow(ref dt, 6, ent.ProName, ent.UnFinishNum, ent.FinishNum, ent.Summary, "0", "0", ent.FinishNum);
                AddNewRow(ref dt, 6, "审计结论:", " ", " ", " ", " ", " ");
                ExcelHelper.ExportToExcel(dt, fileName, tableName);


                if (File.Exists(fileName))
                {


                    Microsoft.Office.Interop.Excel.Application xlsApp = new Microsoft.Office.Interop.Excel.Application();
                    Microsoft.Office.Interop.Excel.Workbook workbook = xlsApp.Workbooks.Open(fileName, Type.Missing, 
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
                    Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    Microsoft.Office.Interop.Excel.Worksheet mySheet = workbook.Sheets[tableName] as Microsoft.Office.Interop.Excel.Worksheet;


                    xlsApp.Visible = true;


                    ////标题样式
                    ((Microsoft.Office.Interop.Excel.Range)mySheet.Columns["A:F", System.Type.Missing]).ColumnWidth = 20;
                    Microsoft.Office.Interop.Excel.Range titleRange = mySheet.get_Range("A1", "F1");
                    titleRange.ClearContents();
                    titleRange.Merge(0);
                    titleRange = mySheet.get_Range("A1", "A1");
                    titleRange.Cells[1, 1] = tableName;
                    titleRange.Font.Size = 30;
                    titleRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
                    titleRange.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom).
                    Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlMedium;


                    ////为所有单元格添加边框
                    Microsoft.Office.Interop.Excel.Range allRange = mySheet.get_Range("A1", "F7");
                    allRange.Borders.LineStyle = 1;
                    allRange.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop).
                    LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;


                    ////最后一行单元格合并
                    Microsoft.Office.Interop.Excel.Range contentRange = mySheet.get_Range("A7", "F7");
                    contentRange.ClearContents();
                    contentRange.Merge(0);
                    contentRange = mySheet.get_Range("A7", "F7");
                    contentRange[1, 1] = "审计结论:";
                    contentRange.RowHeight = 30;
                    contentRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;
                }


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }




        public static void AddNewRow(ref DataTable dt, int columnCount, params string[] cells)
        {
            if (cells == null || cells.Length > columnCount)
            {
                return;
            }
            DataRow dr = dt.NewRow();
            for (int i = 0; i < cells.Length; i++)
            {
                dr[i] = cells[i];
            }
            dt.Rows.Add(dr);
        }
        #endregion

Das Obige ist der Inhalt des Beispiels für die Bedienung von C# im EXCEL-Stil – Generieren einer EXCEL-Prüftabelle PHP chinesische Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn