找回密码
 立即注册

QQ登录

只需一步,快速开始

fanhy

论坛元老

9

主题

36

帖子

8017

积分

论坛元老

积分
8017

活字格认证

fanhy
论坛元老   /  发表于:2014-10-30 16:39  /   查看:6966  /  回复:7
我在一个EXCEL模板中对列头设置了样式,然后做了一些数据填充的操作。
保存后的EXCEL,本该在列头的样式到了第二行!

我使用的是这种保存方式,如果去掉“SaveCustomColumnHeaders”,列头就直接没有了
fpSpread1.SaveExcel(path, FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat|FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);

1.png
2.png

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-10-31 15:51:00
沙发
回复 1楼fanhy的帖子

您好,
请问您是使用 Excel 还是 Spread 设置的列头样式?
我使用 Spread 设置了列头的样式导出没有重现问题,以下是我的模板:
customercolumnheader.zip (5.48 KB, 下载次数: 154)
回复 使用道具 举报
fanhy
论坛元老   /  发表于:2014-11-3 17:07:00
板凳
回复 2楼iceman的帖子

谢谢你的回复!
我用的是EXCEL的样式。
我今天又调试了一下,发现执行了下面这个操作后在保存。就会出现这个问题。
fpSpread1.ActiveSheet.DataSource = dataTable;
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-4 11:18:00
地板
回复 3楼fanhy的帖子

为了尽快解决问题,能否请你直接把导入的Excel模板上传到论坛?

我理解您的操作步骤是:
1.先使用 Spread 导入excel
2.绑定数据源
3.再导出

请问是否一致?
回复 使用道具 举报
fanhy
论坛元老   /  发表于:2014-11-4 14:40:00
5#
回复 4楼iceman的帖子


FP1Temp04142741659.rar (8.45 KB, 下载次数: 186)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-4 16:28:00
6#
回复 5楼fanhy的帖子

给您的范先生打电话没能找到您,关于这个问题希望和您进行电话沟通。请通过论坛短消息留一下您的联系方式。

如果是直接数据绑定,那么原来 Excel 中的值会被覆盖,再导出就会出现 1# 中截图的情况。

您这个需求建议您使用区域绑定方式,参考代码:

  1. FarPoint.Win.Spread.Data.SpreadDataBindingAdapter data = new FarPoint.Win.Spread.Data.SpreadDataBindingAdapter();
  2. // Assign the datasource to a data table
  3. data.DataSource = dt;
  4. data.Spread = fpSpread1;
  5. data.SheetName = "Sheet1";
  6. data.MapperInfo = new FarPoint.Win.Spread.Data.MapperInfo(3, 2, 1, 1);
  7. data.FillSpreadDataByDataSource();
复制代码


这样可以保留原来的 Excel格式。
回复 使用道具 举报
fanhy
论坛元老   /  发表于:2014-11-10 13:41:00
7#
回复 6楼iceman的帖子

这段时间休假,没及时回复。
你提供的方法可以实现我要的效果,非常感谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-10 14:45:00
8#
回复 7楼fanhy的帖子

好的,不客气。感谢反馈问题结果。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部