找回密码
 立即注册

QQ登录

只需一步,快速开始

syokouken

论坛元老

14

主题

42

帖子

5954

积分

论坛元老

积分
5954

活字格认证

syokouken
论坛元老   /  发表于:2014-2-17 09:53  /   查看:5663  /  回复:4
您好,一直在这里求教,对于所提供的帮助,表示感谢
这次是关于Excel导出的问题

我们通过sp.saveExcel的方法导出来的文件
列宽都不能手动拉宽

我将sp的 很多 column,columnheader等resizeable都设置成了true,可是还是不行
有什么解决方法吗?

spread版本是5.0

4 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-2-17 10:39:00
沙发
回复 1楼syokouken的帖子

不客气,这里是葡萄城产品的技术社区,我们提供我们最好的服务。
也非常欢迎您在时间宽裕的情况下,多多给GCDN社区建言献策,如论坛发展建议、帮助其他用户处理常见问题等。   

您导出的Excel文件,试过 "审阅--取消工作表保护"功能吗?
导出前,添加这行代码试试:
  1. FpSpread1.ActiveSheet.Protect = False
复制代码
回复 使用道具 举报
syokouken
论坛元老   /  发表于:2014-2-17 14:36:00
板凳
回复 2楼roger.wang的帖子

谢谢,果然是这个问题
已经处理了。
其实还有一个问题,或者是个建议
Spread如果可以提供 类似于 dateset.copy的方法会更好用些我想

之前我们讨论过指定行的导出Excel的问题
你说,建一个新的SP控件
这个方法我之前也想到了,就是觉得麻烦
但是业务需求我不得不这么做了

可是因为没有copy的方法,我就需要手动写本来该在设计器里所做的工作
比如,多行列头,列头合并之类的问题,很麻烦,当把这个方法提成共通方法是更麻烦,呵呵。

我现在用的时循环列头,以及全体CELL的方法,对CELL进行赋值。效率真的不高。呵呵
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-17 16:06:00
地板
回复 3楼syokouken的帖子

谢谢您的建议。 您的这个建议,我会报给产品团队。

再次谢谢您的积极反馈。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-2-19 17:06:00
5#
回复 3楼syokouken的帖子

您好,保存部分列为Excel,这里有一个解决方案,供您参考:
1.如果只导出数据可以使用SaveTextFileRange方法。
2.如果要导出数据和样式、公式等,可以使用GetClipDataObject and ClipboardPaste with SaveExcel)代码如下:
DataObject data = sheet.GetClipDataObject(false, new CellRange(row, column, rowCount, columnCount), ClipboardCopyOptions.All);
targetSheet.ClipboardPaste(ClipboardPasteOptions.All, data, new CellRange(0, 0, rowCount, columnCount));
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部