您的位置:首页 > 其它

快速写入Excel(将数据转换为二维数组,再使用Range方法)

2010-01-21 11:36 711 查看
http://topic.csdn.net/u/20080623/14/d0953232-d549-4ebd-806c-45b5ec23437c.html

Excel.Application excel=new Microsoft.Office.Interop.Excel.Application();
Excel.Workbook excelBook = excel.Workbooks.Add(Type.Missing);
Excel.Worksheet excelSheet = (Excel.Worksheet)excelBook.ActiveSheet;
excel.Visible = true;
try
{
DataTable dt = GetTable();
DataTableToExcel(dt, excelSheet);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
excel = null;
GC.Collect();
}
}
public void DataTableToExcel(DataTable dt, Excel.Worksheet excelSheet)
{
int rowCount = dt.Rows.Count;
int colCount = dt.Columns.Count;
object[,] dataArray = new object[rowCount+1, colCount];
for (int k = 0; k < colCount; k++)
{
dataArray[0, k] = dt.Columns[k].ColumnName;
}
for (int i = 0; i < rowCount; i++)
{
for (int j = 0; j < colCount; j++)
{
dataArray[i+1, j] = dt.Rows[i][j];
}
}
excelSheet.get_Range("A1", excelSheet.Cells[rowCount+1, colCount]).Value2 = dataArray;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: