找回密码
 立即注册

QQ登录

只需一步,快速开始

lyc

初级会员

40

主题

74

帖子

270

积分

初级会员

积分
270

微信认证勋章

lyc
初级会员   /  发表于:2022-3-25 16:04  /   查看:2168  /  回复:9
1金币
本帖最后由 lyc 于 2022-3-25 16:24 编辑

Spread.Net Winform 用 ExcelSaveFlags.SaveCustomColumnHeaders 格式导出Excel 后表头的居中格式不对,导出时如何保留设定好的格式?

最佳答案

查看完整内容

这里的自定义列头是作为冻结行导出的,目前开发包确实没有实现保留表头样式的功能 建议可以在spread.NET中就用冻结行来做表头,并设置居中,这样导出后自然可以保留样式

9 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-25 16:04:55
来自 4#
本帖最后由 Richard.Ma 于 2022-3-28 18:10 编辑

这里的自定义列头是作为冻结行导出的,目前开发包确实没有实现保留表头样式的功能

建议可以在spread.NET中就用冻结行来做表头,并设置居中,这样导出后自然可以保留样式
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-25 16:23:53
2#
请将你这边的spread对象通过Save方法导出为xml文件上传上来,我来重现一下问题,看看原因
回复 使用道具 举报
lyc
初级会员   /  发表于:2022-3-25 17:09:21
3#
本帖最后由 lyc 于 2022-3-25 17:12 编辑

附件中的文件时这样导出的:pSpread1.Save(@"d:\TestFiles\xxx.xml",false);

image.png373304137.png
以上是Spread显示的
导出Excel成这样了:
image.png279343566.png

xxx.rar

11.12 KB, 下载次数: 128

回复 使用道具 举报
lyc
初级会员   /  发表于:2022-3-28 17:19:45
5#
spread.NET冻结行作为表头,spread绑定List时,会不会就把冻结行覆盖了?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-28 18:16:31
6#
如果是给sheet绑定的话,确实会被覆盖,可以添加table,给table绑定数据

  1. fpSpread1.AsWorkbook().ActiveSheet.Tables[0].DataSource= emlist;
复制代码
回复 使用道具 举报
lyc
初级会员   /  发表于:2022-3-30 10:38:39
7#
image.png789359130.png 没找到DataSource 属性,是不是缺少引用?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-30 12:22:35
8#
应该和版本有关系,这个是前一个V15版本刚刚更新的功能,你如果是老版本的话没有这个接口

如果是老版本绑定的话,只能给一个range绑定,可能没有table这么灵活,你可以参考下面的教程链接
https://www.grapecity.com/spread ... databind-range.html

回复 使用道具 举报
lyc
初级会员   /  发表于:2022-3-30 15:30:18
9#
FarPoint.Win.Spread.Data.SpreadDataBindingAdapter data = new FarPoint.Win.Spread.Data.SpreadDataBindingAdapter();
// Assign the datasource to a data table
data.DataSource = dt;
data.Spread = fpSpread1;
data.SheetName = "Sheet1";
data.MapperInfo = new FarPoint.Win.Spread.Data.MapperInfo(3, 2, 1, 1);
data.FillSpreadDataByDataSource();

这种方式需要设定区域绑定,但是数据库里记录数是不固定的,没法提前设定好区域,该如何处理?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-30 15:51:24
10#
是的,这个目前没有其他的办法,如果是要用老版本完整绑定的话,那你不如还是用原来的Sheet绑定吧。
冻结行文本居中的问题,这个可以再在后续进行处理,比如,重新通过spread加载后,通过代码来设置
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部