找回密码
 立即注册

QQ登录

只需一步,快速开始

jiangweihz

金牌服务用户

32

主题

80

帖子

760

积分

金牌服务用户

积分
760
jiangweihz
金牌服务用户   /  发表于:2017-7-18 10:48  /   查看:3701  /  回复:5
1.  如果有3000行以上,100列excel导出会报内存异常
2.  如果行数少,导出成excel,打开无法拖动到后面列,横向滚动条不起作用

5 个回复

倒序浏览
jiangweihz
金牌服务用户   /  发表于:2017-7-18 11:08:50
沙发
第2个问题找到原因了,我们把列锁定了,第一个问题还是存在!
回复 使用道具 举报
jiangweihz
金牌服务用户   /  发表于:2017-7-18 11:20:47
板凳
还有问下,如何获取当前冻结列数
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-18 15:45:38
地板
第一个问题可否提供下Demo, 我这里随机的数据没有问题。


FrozenColumnCount可以获取冻结列的数量
            fpSpread1.ActiveSheet.FrozenColumnCount
回复 使用道具 举报
jiangweihz
金牌服务用户   /  发表于:2017-7-24 10:56:52
5#
我传了一份数据,使用控件里数据的复制(灰色背景),然后在excel粘贴出来,我们尝试导出excel,数据行有5000多,列也比较多,但是永远在等待,请楼主调试查下原因
代码如下:
System.Windows.Forms.SaveFileDialog saveFileDialog1 = new SaveFileDialog();

                saveFileDialog1.Title = "保存 Spread 为 EXCEL 格式";
                saveFileDialog1.Filter = "XLSX 文件 |*.xlsx";

                if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    var tmpSpread = new FpSpread();

                    MainSpread.fpSpreadControl.Save(saveFileDialog1.FileName, false);
                    tmpSpread.Open(saveFileDialog1.FileName);                  

                    tmpSpread.SaveExcel(saveFileDialog1.FileName, ExcelSaveFlags.UseOOXMLFormat | ExcelSaveFlags.SaveCustomColumnHeaders | ExcelSaveFlags.SaveAsFiltered);
                    
                    MessageBox.Show("导出成功!");
                }

工作簿1.xlsx

2.4 MB, 下载次数: 189

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-25 09:29:05
6#
您好,我先导入您提供的Excel,然后再导出,是没有问题的,由于数据比较多,需要4秒。
您说的“永远在等待”是一个什么状态。或者您可否将spread 保存为 xml,然后发给我,我再导出测试下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部