如何添加标题,同时将数据导出表到Excel C#
问题描述:
这是我的代码工作正常,但如何在这个方法中添加标题为Excel文件如何添加标题,同时将数据导出表到Excel C#
public void ExportToExcel()
{
DataTable Tbl = new DataTable();
Tbl = dt;
OpenFileDialog openDlg = new OpenFileDialog();
System.Windows.Forms.SaveFileDialog saveDlg = new
System.Windows.Forms.SaveFileDialog();
if (saveDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string path = saveDlg.FileName;
try
{
if (Tbl == null || Tbl.Columns.Count == 0)
throw new Exception("ExportToExcel: Null or empty input table!\n");
// load excel, and create a new workbook
Microsoft.Office.Interop.Excel.Application excelApp = new
Microsoft.Office.Interop.Excel.Application();
excelApp.Workbooks.Add();
// single worksheet
Microsoft.Office.Interop.Excel._Worksheet workSheet =
excelApp.ActiveSheet;
// column headings
for (int i = 0; i < Tbl.Columns.Count; i++)
{
workSheet.Cells[1, (i + 1)] = Tbl.Columns[i].ColumnName;
}
// rows
for (int i = 0; i < Tbl.Rows.Count; i++)
{
// to do: format datetime values before printing
for (int j = 0; j < Tbl.Columns.Count; j++)
{
workSheet.Cells[(i + 2), (j + 1)] = Tbl.Rows[i][j];
}
}
// check fielpath
if (path != null && path != "")
{
try
{
workSheet.SaveAs(path);
excelApp.Quit();
MessageBox.Show("Excel file saved!");
}
catch (Exception ex)
{
throw new Exception("ExportToExcel: Excel file could not be saved! Check
filepath.\n"+ ex.Message);
}
}
else // no filepath is given
{
excelApp.Visible = true;
}
}
catch (Exception ex)
{
throw new Exception("ExportToExcel: \n" + ex.Message);
}
}
}
答
Excel.Range headerRange = xlWorkSheet1.get_Range("A1", "V1");
headerRange.HorizontalAlignment =
Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
headerRange.Value = "Header text 1";
headerRange = xlWorkSheet2.get_Range("A1", "V1");
headerRange.HorizontalAlignment =
Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
headerRange.Value = "Header text 2";
答
示例应用程序增加了一个头或者在您提供的文档中添加页脚,请在示例中调用XLInsertHeaderFooter方法来完成这项工作。该方法使您可以添加页眉或页脚,以指示页眉应显示在哪一组页面上。
const string fileName = @"C:\temp\test.xlsx"
XLInsertHeaderFooter(fileName, "Sheet1",
"This is my header", HeaderType.EvenHeader);
XLInsertHeaderFooter(fileName, "Sheet1",
"This is my footer", HeaderType.AllFooter);