asp.net点击Button1动态生成一个Table,并从数据库填充表格,点击Button2将其
asp.net点击Button1动态生成一个Table,并从数据库填充表格,点击Button2将其导出为doc文件,第一步表格生成和数据填充完成了,页面也正常显示出来了,...
asp.net点击Button1动态生成一个Table,并从数据库填充表格,点击Button2将其导出为doc文件,第一步表格生成和数据填充完成了,页面也正常显示出来了,但是点了Button2出来的文件是个空白的。但是尝试在页面事先生成Table,只用代码后台动态填充内容,这样点击Button2可以正确导出表格内容。感觉动态生成的表格在导出的时候消失了,请问不能导出动态生成的表格原因在哪?如何解决,谢谢!
展开
展开全部
private void button2_Click(object sender, EventArgs e)//导出到excel
{
IWorkbook workbook = new HSSFWorkbook(); //在内存里创建工作簿。在excel里一个excel文件就是一个工作簿
ISheet sheet = workbook.CreateSheet("掉毛表");//在工作簿workbook里创建表,就是打开excel后看到的sheet1、sheet2.。。
//下面给表sheet创建行、单元格并赋值。
for (int i = 0; i < dataGridView1.Rows.Count; i++)//dataGridView1有多少行,相应就给sheet创建多少行
{
IRow r = sheet.CreateRow(i);//i表示创建的是第几行
for (int j = 0; j < dataGridView1.Columns.Count; j++)//dataGridView1有多少列,相应就给sheet创建多少个单元格
{
ICell c = r.CreateCell(j);//给r这个行创建第j个单元格
c.SetCellValue(dataGridView1.Rows[i].Cells[j].ToString());//给c这个单元格设置显示的内容,为datagridview1的第i行第j格
}
}
using (FileStream fs = File.Create(@"c:\\2.xls"))//创建文件流对象fs,这个fs与指定路径挂钩。
{
workbook.Write(fs);//把workbook写入到文件流fs里。
}
}
参考一下吧,是用Npoi操作的,你需要下载Npoi.dll然后在项目里添加对此dll的引用。
更多追问追答
追问
谢谢哦,从gridview 输出excel之前做过倒是没啥问题。现在是希望输出动态生成的table控件到word,点了导出的button后页面会刷新,生成的表没了
追答
那你单步调试,看看在哪一步时 硬盘里的word消失。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询