可能是重复内容:
如何在C#中将DataTable导出到Excel
我在我的项目中包含了TemplateExcel,并且我想要将数据表导出到Excel,我希望能够将这个模板和数据一起拷贝并保存到任何我想要保存的地方,我该怎么做呢?
可能是重复内容:
如何在C#中将DataTable导出到Excel
我在我的项目中包含了TemplateExcel,并且我想要将数据表导出到Excel,我希望能够将这个模板和数据一起拷贝并保存到任何我想要保存的地方,我该怎么做呢?
using System;
using System.Data;
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;
namespace ConsoleApplication3
{
class Program
{
static void Main()
{
Excel.Application application = new Excel.Application();
Excel.Workbook workbook = application.Workbooks.Add();
Excel.Worksheet worksheet = workbook.Sheets[1];
DataTable dataTable = new DataTable();
DataColumn column = new DataColumn("My Datacolumn");
dataTable.Columns.Add(column);
dataTable.Rows.Add(new object[] {"Foobar"});
var columns = dataTable.Columns.Count;
var rows = dataTable.Rows.Count;
Excel.Range range = worksheet.Range["A1", String.Format("{0}{1}", GetExcelColumnName(columns), rows)];
object[,] data = new object[rows,columns];
for (int rowNumber = 0; rowNumber < rows; rowNumber++)
{
for (int columnNumber = 0; columnNumber < columns; columnNumber++)
{
data[rowNumber, columnNumber] = dataTable.Rows[rowNumber][columnNumber].ToString();
}
}
range.Value = data;
workbook.SaveAs(@"C:\test\whatever123.xlsx");
workbook.Close();
Marshal.ReleaseComObject(application);
}
private static string GetExcelColumnName(int columnNumber)
{
int dividend = columnNumber;
string columnName = String.Empty;
int modulo;
while (dividend > 0)
{
modulo = (dividend - 1) % 26;
columnName = Convert.ToChar(65 + modulo).ToString() + columnName;
dividend = (int)((dividend - modulo) / 26);
}
return columnName;
}
}
}
System.Data.DataTable
对象,填充一些数据,然后将其导出到 Excel。虽然需要进行清理、添加错误处理、重构等操作,但基础框架已经搭建好了。1 您可以使用基于RenderControl
的本文,但您需要在绑定的网格上工作。
链接:http://www.codeproject.com/Tips/344604/Export-to-EXCEL-from-Datatable-in-Csharp-Net
2 您可以基于表格进行开发。
链接:http://www.codeproject.com/Tips/406704/Export-DataTable-to-Excel-with-Formatting-in-Cshar