首页 新闻 搜索 专区 学院

Aspose 读取excel 问题

0
悬赏园豆:10 [已解决问题] 解决于 2018-11-23 10:47
 Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(stream);
                if (workbook.Worksheets.Count <= 0)//表中有3个表,3个表中数据不一样
                {
                    //return "错误";
                }
                MemoryStream testStream = new MemoryStream(); //内存流
                Worksheet ss = workbook.Worksheets[0]; //获得sheet1
                var s0 = ss.Cells;
                Worksheet ss1 = workbook.Worksheets[1];//获得表sheet2
                var s1 = ss1.Cells;
                Worksheet ss2 = workbook.Worksheets[2];//获得sheet3
                var s2 = ss2.Cells;
                //--01
                ss.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html);
                var sstr0 =  testStream.ToArray();
                string htmlText0 = Encoding.UTF8.GetString(sstr0); //读取流 (html源文件)
                //--02
                ss1.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html);
                var sstr1 = testStream.ToArray();
                string htmlText1 = Encoding.UTF8.GetString(sstr1); //读取流 (html源文件)
                //--03
                ss2.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html); //保存的数据都一样
                var sstr2 = testStream.ToArray();
                string htmlText2 = Encoding.UTF8.GetString(sstr2); //读取流 (html源文件)

为什么读取的数据  htmlText 内容 都是一样的???

enych的主页 enych | 初学一级 | 园豆:76
提问于:2018-08-07 18:34
< >
分享
最佳答案
0

读取的内容都一样,而且都不是excel里的内容。。。

收获园豆:10
一禅·小和尚 | 菜鸟二级 |园豆:499 | 2018-08-08 08:59

怎样修改 获取单个sheet1 ?

enych | 园豆:76 (初学一级) | 2018-08-08 09:42

@enych: 你的htmltext每次都是读取testStream,而这个testStream压根就没赋值,一直是个空吧?

你如果想输出每个sheet,起码挨个读取再输出吧。。。。

一禅·小和尚 | 园豆:499 (菜鸟二级) | 2018-08-08 10:15

@一只小小小的菜鸟: ss1.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html); 这个不是保存到流中了吗

enych | 园豆:76 (初学一级) | 2018-08-08 10:17

@enych: 这个保存方式对么。。。。没用过aspose,一般输出到流中,都是用的write。。

一禅·小和尚 | 园豆:499 (菜鸟二级) | 2018-08-08 10:31
其他回答(1)
0

MemoryStream testStream = new MemoryStream(); //内存流
////--01
testStream.Flush(); //清空流
sheet1.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html); //表1保存到流中
var sstr0 = testStream.ToArray();
string htmlText0 = Encoding.UTF8.GetString(sstr0); //读取流 (html源文件)
write("sheet1", htmlText0);
////--02
testStream.Flush(); //清空流
sheet2.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html);//表2保存到流中
var sstr1 = testStream.ToArray();
string htmlText1 = Encoding.UTF8.GetString(sstr1); //读取流 (html源文件)
write("sheet2", htmlText1);
////--03
testStream.Flush(); //清空流
sheet3.Workbook.Save(testStream, Aspose.Cells.SaveFormat.Html); //表3保存到流中
var sstr2 = testStream.ToArray();
string htmlText2 = Encoding.UTF8.GetString(sstr2); //读取流 (html源文件)
write("sheet3", htmlText2);
经测试
输出的三个文件中, 第一个文件是1个第3表中数据, 第二个文件是2个第3表中数据,第三个文件是3个第3表中数据,

enych | 园豆:76 (初学一级) | 2018-11-23 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册