首页 新闻 会员 周边

c#NPO 操作Excel

0
[已解决问题] 解决于 2016-08-25 18:05

使用C#的NPOI操作Excel表格后,发现表格再不能打开了,原因是扩展名不匹配,为什么

问题补充:

lazycat_1的主页 lazycat_1 | 初学一级 | 园豆:188
提问于:2016-08-25 16:25
< >
分享
最佳答案
0
using (FileStream file = new FileStream(strExcelPath, FileMode.Open, FileAccess.Read))
            {
                workbook = new XSSFWorkbook(file);
                file.Close();
                file.Dispose();
            }


看看 这个:使用NPOI读取Excel的数据,插入到DataTable中

奖励园豆:5
悦光阴 | 老鸟四级 |园豆:2251 | 2016-08-25 17:33

已经解决了,在代码之前要加一段

using (FileStream fileMuban = new FileStream(path1, FileMode.Open, FileAccess.Read))
{
XSSFworkbook = new XSSFWorkbook(fileMuban);
}
using (FileStream fileTarget = new FileStream(path1, FileMode.Create, FileAccess.Write))
{
XSSFworkbook.Write(fileTarget);
}

lazycat_1 | 园豆:188 (初学一级) | 2016-08-25 17:52
其他回答(1)
0

操作以后的扩展名是啥?

顾晓北 | 园豆:10844 (专家六级) | 2016-08-25 16:33

我是这样操作的

using (FileStream file = new FileStream(path1, FileMode.Open, FileAccess.Read))
{
XSSFworkbook = new XSSFWorkbook(file);
var sheet = XSSFworkbook.GetSheetAt(0);

//int columnCount = mName2Infos[infos1].minfo.Count;
for(int i=0;i<5;i++)
{
IRow row=sheet.GetRow(i);
row.GetCell(2).SetCellValue(model[model_head[model_head_Count-1]].list1[i]);
}
}
using (FileStream filess = File.OpenWrite(path1))
{
XSSFworkbook.Write(filess);
}

 

支持(0) 反对(0) lazycat_1 | 园豆:188 (初学一级) | 2016-08-25 16:35

@lazycat_1: 你电脑上装的是office的什么版本?

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-08-25 16:57

@顾晓北: 在没操作之前是可以打开的,操作之后就打不开了,装的2010的

支持(0) 反对(0) lazycat_1 | 园豆:188 (初学一级) | 2016-08-25 17:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册