seasky083
发表于 2015-8-25 16:40:00
发现同一个excel,有时候可以导入,有时候导入不行,情况就跟上面说的那个一样
把其他代码都注释掉,在正式环境中还是不行
seasky083
发表于 2015-8-25 17:23:00
正式环境使用的spread版本是FarPoint.Web.Spread, Version=8.40.20143.0,
而demo里面使用的spread版本是FarPoint.Web.Spread, Version=7.0.4002.2010
7.0那个版本可以提取到excel的内容,demo里面换成8.0的那个dll就不行,麻烦你们
分别测试一下这两个版本的这个dll在上面我代码里提取数据的时候有什么不同
附件
Helen
发表于 2015-8-25 17:27:00
回复 11楼seasky083的帖子
您好!
您可以上传出问题的Excel,我们再为您尝试一下。
如果没有办法重现的话,我们实在是有心无力,希望您可以理解。
谢谢!
seasky083
发表于 2015-8-25 17:31:00
已上传附件,附件Spread, Version=8.40.20143.0
excel在附件里面
麻烦尽快回复此问题,急用
Helen
发表于 2015-8-26 10:37:00
回复 3楼seasky083的帖子
您好!
您的问题已经重现,怀疑是个bug,已经反馈给研发组。
目前有个简单的解决方案,当导入的Excel含有多个工作表的时候,将焦点放置在第一个工作表,然后保存Excel退出。再导入保存后的Excel, 读取sheet.NonEmptyRowCount/sheet.NonEmptyColumnCount就不是0了。
对您带来的不便,我们深感抱歉!
谢谢!
seasky083
发表于 2015-8-26 11:04:00
将焦点放置在第一个工作表【ActiveSheetView不能设置的】,保存excel退出是什么意思
可以提供相关代码参考一下么,或者在我的那个demo上调整一下,麻烦,谢谢
Helen
发表于 2015-8-26 11:33:00
回复 16楼seasky083的帖子
您好!
您发送的程序中含有一个fzb.xls,猜测可能是您需要导入的Excel。您将这个Excel打开,它现在默认是打开第二个工作表“取数表”,点击第一个工作表“表结法资产负债表”,鼠标点击这个工作表中的任意单元格,然后保存退出。
现在这个Excel就是将焦点放置在第一个工作表的Excel了。将这个Excel导入到Spread中,读取sheet.NonEmptyRowCount/sheet.NonEmptyColumnCount就不是0了。
谢谢!
seasky083
发表于 2015-8-26 11:37:00
按照你的说话已经可以实现导入可查看到数据,但是这个问题还是要解决的,不然以后这边也没办法跟客户解释,
麻烦你们尽快将这个bug解决掉,给个反馈
Helen
发表于 2015-8-26 11:48:00
回复 18楼seasky083的帖子
您好!
已经反馈给给研发组。有任何进展,我们会及时回复您!
谢谢!
iceman
发表于 2015-8-27 10:53:00
回复 18楼seasky083的帖子
该bug会在 Spread 8V2 中修复,预计11月左右发布。
当前您可以使用下面代码绕过这个问题:
protected void Button2_Click(object sender, EventArgs e)
{
FpSpread book = new FpSpread();
this.Form.Controls.Add(book); // This is a bug of Spread that require it's placed in a webpage
book.OpenExcel(Server.MapPath("tt2.xls"), FarPoint.Excel.ExcelOpenFlags.TruncateEmptyRowsAndColumns);
foreach (SheetView sheet in book.Sheets)
{
var col = sheet.NonEmptyColumnCount;
var row = sheet.NonEmptyRowCount;
}
book.Style.Add(HtmlTextWriterStyle.Display, "none"); // Make it invisible
// This code is fine
//FpSpread1.OpenExcel(Server.MapPath("tt2.xls"), FarPoint.Excel.ExcelOpenFlags.TruncateEmptyRowsAndColumns);
//foreach (SheetView sheet in FpSpread1.Sheets)
//{
//var col = sheet.NonEmptyColumnCount;
//var row = sheet.NonEmptyRowCount;
//}
}