首页 新闻 会员 周边

使用NPOI导出Excel引发异常(IsReadOnly = “book.IsReadOnly”引发了类型“System.NotImplementedException”的异常)

0
悬赏园豆:30 [待解决问题]

就是上面引发了异常,代码运行不会报错,但是就是不能导出Excel,应该是那个异常导致的,前辈们帮我看看是什么原因。谢啦

小熊vs的主页 小熊vs | 初学一级 | 园豆:20
提问于:2017-03-01 11:14

貌似没错误,可能少引用引起的

T66T 5年前
< >
分享
所有回答(9)
0

放弃吧。他跟本没实现这个构造方法


长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-03-01 11:16

 意思是NPOI插件的问题了?

支持(0) 反对(0) 小熊vs | 园豆:20 (初学一级) | 2017-03-01 11:17

@小熊vs: 内部有未实现的方法。


支持(0) 反对(0) 长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-03-01 11:19

@长蘑菇星人: 大哥 我弄这个好久了,能不能指导一下小弟 怎么解决,谢谢了

支持(0) 反对(0) 小熊vs | 园豆:20 (初学一级) | 2017-03-01 11:21

@长蘑菇星人: 请问你有好的导出Excel的方式吗

支持(0) 反对(0) 小熊vs | 园豆:20 (初学一级) | 2017-03-01 11:28

@小熊vs: 是不是你的打开方式有问题。找找文档呢


支持(0) 反对(0) 长蘑菇星人 | 园豆:1832 (小虾三级) | 2017-03-01 11:58

我测试了,这个构造方法是正常的,楼主的写法没有错误,请查看是否缺少引用

支持(0) 反对(0) 流泪的冰淇淋 | 园豆:202 (菜鸟二级) | 2017-04-10 22:14

@小熊vs: 其实这个报这个错是不影响excel的下载的,你看看前端写法,当点击导出按钮时,js代码:

var queryUrl = "/Agreement/BidMange/ExportToExcel";
queryUrl = encodeURI(queryUrl);
window.location.href = queryUrl;  而不是里面去异步ajax。如果是异步ajax是看不到下载页面的

支持(0) 反对(0) zouhp | 园豆:227 (菜鸟二级) | 2017-07-16 22:52
0

 NPOI.HSSF.UserModel.HSSFWorkbook workbook=new HSSFWorkbook();这样行不。我不太明白你NPOI.HSSF.UserModel.HSSFWorkbook 你这样写是?请指教

GDOUJKZZ | 园豆:315 (菜鸟二级) | 2017-03-01 20:43
0

我也是遇到同样问题,请问解决了吗

xing1992 | 园豆:202 (菜鸟二级) | 2017-03-03 10:47
0

今天我也遇到这个问题了,打开文件是正常的,

流泪的冰淇淋 | 园豆:202 (菜鸟二级) | 2017-04-10 21:47
0

 =- =我用npoi 导出 还没遇到过这样的问题呀

风格不同 | 园豆:14 (初学一级) | 2017-06-15 10:53
0

试试这个

//建立空白工作簿
IWorkbook workbook = new HSSFWorkbook();
//在工作簿中:建立空白工作表
ISheet sheet = workbook.CreateSheet("情况表(1)");

SAI2014 | 园豆:239 (菜鸟二级) | 2017-06-15 16:47
0
 1             NPOI.HSSF.UserModel.HSSFWorkbook wb = new NPOI.HSSF.UserModel.HSSFWorkbook();
 2             var ws = wb.CreateSheet("ws");
 3 
 4             var row = ws.CreateRow(0);
 5             row.CreateCell(0).SetCellValue("col1row1cell1");
 6 
 7             var row2 = ws.CreateRow(1);
 8             row2.CreateCell(0).SetCellValue("col1row2cell1");
 9 
10             using (var ms = new MemoryStream())
11             {
12                 wb.Write(ms);
13 
14                 File.WriteAllBytes("d:/1.xls", ms.ToArray());
15             }

没什么问题,如果你那个不行的话,或许可以尝试nuget下个最新的npoi,好像依赖ICSharpCode.SharpZipLib这个,nuget的话,会自动下载依赖

jmlsaul | 园豆:247 (菜鸟二级) | 2017-08-31 08:57
0

这样写OK

IWorkbook wk = new HSSFWorkbook();
ISheet sheet = (NPOI.HSSF.UserModel.HSSFSheet)wk.CreateSheet("TestSheet");

浪橙悠悠 | 园豆:212 (菜鸟二级) | 2017-12-19 15:28
0

有一个免费的插件比这个好用啊

银龙科技 | 园豆:203 (菜鸟二级) | 2020-07-10 17:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册