如何将数据导出到WinForm C#中的Excel表格?
在这里我的代码:
使用Excel = Microsoft.Office.Interop.Excel;
private void button5_Click(object sender, EventArgs e) { SqlCommand cmd = new SqlCommand(); int colIndex = 1; int rowIndex = 1; Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); Con.Open(); cmd.Connection = Con; cmd.CommandType = CommandType.Text; cmd.CommandText = "select * from Table1"; SqlDataReader reader = cmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(reader); xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); foreach (DataRow dr in dt.Rows) { rowIndex = rowIndex + 1; colIndex = 0; foreach (DataColumn dc in dt.Columns) { colIndex = colIndex + 1; xlWorkSheet.Cells[rowIndex + 1, colIndex] = dr[dc.ColumnName]; } } xlApp.Visible = true; ObjectRelease(xlWorkSheet); ObjectRelease(xlWorkBook); ObjectRelease(xlApp); }
它将所有数据从“Table1”导出到Sheet1。 但是我想出口:
Row1 => Sheet1
Row2 => Sheet2
Row3 => Sheet3
…
我如何解决这个问题?
看代码xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
应该是得到第一张。
如果你在你的循环内部拉出那行代码,把1
改为rowIndex
,它应该进入连续的表单。 我唯一不知道的是是否可以“获取”尚不存在的工作表,因此您可能需要创build新工作表。
- VSTO处理大file upload和“Microsoft office Excel正在等待另一个进程完成OLE动作”
- 使用Excel作为Asp.Net MVC站点的客户端
- 在Angularjs和WebApi中下载Excel文件xlsx
- 当.csv文件在Excel中打开并保存为Excel工作表时,它是否具有与原始Excel工作表相同的属性?
- 用其域名分隔电子邮件地址
- 将大数据查询(60k +行)导出到Excel
- VSTO Excel AddIn:当Excelinput框从模态窗口窗体调用时,焦点转到Visual Studio
- 如何使用c#读取excel中的特定列,并获取该列中不同单词的出现次数
- Excel / OpenFileDialog:即使在退出应用程序后,保存到最后浏览的文件的string