asp.net点击Button1动态生成一个Table,并从数据库填充表格,点击Button2将其

asp.net点击Button1动态生成一个Table,并从数据库填充表格,点击Button2将其导出为doc文件,第一步表格生成和数据填充完成了,页面也正常显示出来了,... asp.net点击Button1动态生成一个Table,并从数据库填充表格,点击Button2将其导出为doc文件,第一步表格生成和数据填充完成了,页面也正常显示出来了,但是点了Button2出来的文件是个空白的。但是尝试在页面事先生成Table,只用代码后台动态填充内容,这样点击Button2可以正确导出表格内容。感觉动态生成的表格在导出的时候消失了,请问不能导出动态生成的表格原因在哪?如何解决,谢谢! 展开
 我来答
内裤最大功能
2015-09-05 · TA获得超过3105个赞
知道大有可为答主
回答量:3202
采纳率:79%
帮助的人:488万
展开全部
        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消失。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式