>  기사  >  백엔드 개발  >  C# 작업 EXCEL 스타일 예제 - EXCEL 감사 테이블 생성

C# 작업 EXCEL 스타일 예제 - EXCEL 감사 테이블 생성

黄舟
黄舟원래의
2017-03-02 11:41:331393검색

C# EXCEL 스타일 조작 예 - EXCEL 감사 테이블 생성

 #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

위는 C# EXCEL 스타일 조작 예 - EXCEL 감사 테이블 생성의 내용입니다. 자세한 내용은 PHP 중국어를 참고하시기 바랍니다. 웹사이트(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.