首页 新闻 会员 周边

System.InvalidOperationException异常

0
悬赏园豆:50 [已解决问题] 解决于 2020-12-25 10:54

使用NPOI,点击右键菜单生成报表,写入excel,出现异常。调试点了没反应,程序也没崩,也没停在哪个地方。

private void toolStripMenuItem5_Click(object sender, EventArgs e)
        {
            if (((TextBox) Controls.Find("textbox1", true)[0]).Text != null &&
                ((TextBox) Controls.Find("textbox2", true)[0]).Text != null &&
                ((TextBox) Controls.Find("textbox3", true)[0]).Text != null &&
                ((TextBox) Controls.Find("textbox4", true)[0]).Text != null &&
                ((TextBox) Controls.Find("textbox5", true)[0]).Text != null &&
                ((TextBox) Controls.Find("textbox6", true)[0]).Text != null )
            {
                string WriteExcelPath = @"../../工艺报表.xlsx";
                using (FileStream fs = new FileStream(WriteExcelPath, FileMode.Open, FileAccess.ReadWrite))
                {
                    IWorkbook  workbook = new XSSFWorkbook(fs);
                    ISheet sheet = workbook.GetSheet("sheet1");
                    IRow row = sheet.GetRow(1);
                    row.GetCell(0).SetCellValue(((TextBox) Controls.Find("textbox1", true)[0]).Text);
                    //MessageBox.Show(((TextBox) Controls.Find("textbox1", true)[0]).Text);
                    row.GetCell(1).SetCellValue(((TextBox) Controls.Find("textbox2", true)[0]).Text);
                    row.GetCell(2).SetCellValue(((TextBox) Controls.Find("textbox3", true)[0]).Text);
                    row.GetCell(3).SetCellValue(((TextBox) Controls.Find("textbox4", true)[0]).Text);
                    row.GetCell(4).SetCellValue(((TextBox) Controls.Find("textbox5", true)[0]).Text);
                    row.GetCell(5).SetCellValue(((TextBox) Controls.Find("textbox6", true)[0]).Text);
                    
                    //Exception of type System.InvalidOperationException was thrown
                    workbook.Write(fs);
                    //fs.Close();
                }
            }
        }

代码是按照官方示例写的啊

错误提示:

YiXiaoKezz的主页 YiXiaoKezz | 初学一级 | 园豆:141
提问于:2020-12-24 11:02
< >
分享
最佳答案
0

用MemoryStream接收,最终生成完了再写到文件里。

收获园豆:50
Jaguar_Jacky | 菜鸟二级 |园豆:458 | 2020-12-24 17:54
其他回答(1)
0

这是没加载到文件吧 你把FileMode的Open改成OpenOrCreate或者Create试试

彭小立 | 园豆:634 (小虾三级) | 2020-12-24 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册