快速写入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;
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;
相关文章推荐
- 快速写入Excel(将数据转换为数据流)
- (SQL)将 expression 转换为数据类型 int 时发生算术溢出错误 2种快速处理方法
- 详讲:C#快速导出多个sheet到excel的两种方法(Cell和Range方法), 解决了(导入时外部表不是预期的格式)
- 利用python对Excel中的特定数据提取并写入新表的方法
- 使用Apache POI读取Excel文件,将读取的数据转换成json写入文本文件
- Excel 导入到Datatable 中,再使用常规方法写入数据库
- ABAP将内表数据写入Excel 2003的通用方法
- 按键精灵如何调用Excel及按键精灵写入Excel数据的方法教程---入门自动操作表格
- Excel两行交换及两列交换,快速互换相邻表格数据的方法
- 详解Excel互操作中写入数据的方法
- java POI解析Excel 之数据转换公用方法(推荐)
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
- mdb数据转换成excel、导入导出方法
- 在EXCEL中快速输入数据的方法
- Oracle导入excel数据快速方法
- Excel两行交换及两列交换,快速互换相邻表格数据的方法
- Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
- 快速地将Excel数据导入到SQL2005中的方法
- Python实现自定义顺序、排列写入数据到Excel的方法
- PL/SQL Developer导出大量数据到excel的快速方法,解决数据量大导出慢的问题