您的位置:首页 > Web前端 > CSS

C# 操作EXCEL样式 示例 --生成EXCEL审计表

2012-05-16 09:23 423 查看
  
#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  excel c# string exception null