把DataSet中的数据导出到EXCEL中,各位有什么好方法
解决方案 »
- c#顺序问题,高手们!
- 关于WebBrowser在C#.net2008的console程序中的问题,为什么会报告不在主线程中从而无法初始化?
- c#中怎么用反射实现根据需求返回的类名来动态创建对像?
- abstract 可以和 override 一起使用吗?
- 为什么用了BUFFER用的时间还是一样的?不是说BUFFER可以提高性能吗? 在线等!
- .NET关于C#数据库开发
- 请教如何使MessageBox显示在所有窗体上面
- Winform中关于datagrid中checkbox选中操作的问题
- 设置控件的Dock属性为什么使得其绘制了多份?
- 急判回复,关于c#一个数据库连接打开全局使用的问题????
- 通过DataSet删除表中所有记录
- 求详细注释~~~详细的。。。。
可以看看
try
{
Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.Application();//创建Excel表
myExcel.Visible = true;
Microsoft.Office.Interop.Excel.Workbooks myWorkbooks = myExcel.Workbooks;//创建Excel工作表
Microsoft.Office.Interop.Excel.Workbook myWorkbook = myWorkbooks.Add(System.Reflection.Missing.Value); //创建Excel工作表
Microsoft.Office.Interop.Excel.Worksheet myWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)myWorkbook.Worksheets[1];//创建Excel工作表Sheet1页
Microsoft.Office.Interop.Excel.Range myrange = myWorksheet.get_Range("A1", "D1");//选择页的范围,从“A1”开始,我这是四列所以到“D1” object[] myhead = { "日期", "组名", "付款人", "金额" };//设置表头
myrange.Value2 = myhead;//表头的值传入Excel表 if (dgvRecord.Rows.Count > 0)
{
myrange = myWorksheet.get_Range("A2", System.Reflection.Missing.Value);
int row = 0;
row = dgvRecord.Rows.Count;//设置表的行数
int col = 4;//设置表的列数
object[,] mydata = new object[row, col];
for (int i = 0; i < row; i++)//循环读取DataGridView上的数据
{
for (int j = 0; j < col; j++)
{
mydata[i, j] = dgvRecord[j, i].Value.ToString();//读取DataGridView上的值保存到mydata数组中,这里要注意哦,DataGridView是列在前,而Excel刚好相反
}
}
myrange = myrange.get_Resize(row, col);
myrange.Value2 = mydata;//把madata数组的值存到Excel表导出
myrange.EntireColumn.AutoFit();
}
myExcel = null;//清空表单
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}