q406157290 发表于 2015-12-21 16:02:00

C1FlexGrid excel输出

根据demo 中C1FlexGrid excel输出ExcelFilter这个类中TwipsToPixelsPixelsToTwips PointsToPixelsPixelsToPointsGetCellStyleGetXLStyleGetBorderThicknessGetBorderBrush IsColorValid 这些设置样式的方法 没有提到某个类里面么

Alice 发表于 2015-12-21 17:12:00

回复 1楼q406157290的帖子

谢谢您的反馈。
您提到的方法不是C1FlexGrid提供的接口,是为了给用户展示,在Demo中自定义实现的。

q406157290 发表于 2015-12-28 11:21:00

回复 2楼Alice的帖子

C1FlexGrid 输出到Excel中时候,如何设置excel的行高是自适应的呢 麻烦您了

KNight 发表于 2015-12-28 14:31:00

回复 3楼q406157290的帖子

C1FlexGrid有AutoSizeFixedRows方法可以自适应行高,然后导出Excel的时候可以根据Row实际的行高导出;
参考代码:
C1FlexGrid1.AutoSizeRows(0, C1FlexGrid1.Rows.Count - 1, 7, true);
注意,导出Excel时,单元格要设置成换行样式的;

gw0506 发表于 2015-12-28 16:21:00

学习了~

q406157290 发表于 2015-12-30 09:17:00

回复 4楼KNight的帖子

我后来发现的问题仅仅给Excel的style中设置成WordWrap = true 还不行,只需要给Excel中的任意一行(我给第一行设置高度了)设置一下高度其他行不用设置剩下的出力的行都会换行高度自适应,如果没有给行设置高度 Excel中的行高是不会自适应的

gw0506 发表于 2015-12-30 14:20:00

所以,你希望我们为你做点什么呢?

KNight 发表于 2015-12-30 15:24:00

回复 6楼q406157290的帖子

:nbtz5:
这个是Excel自己本身决定的,并不是控件的锅。。。

<row r="2" spans="1:10" s="2" customFormat="1" ht="34.4" customHeight="1">
这个是手动设置行高的Excel代码;

<row r="2" spans="1:10" s="2" customFormat="1">
这个是没有设置行高的Excel代码;

当设置了Style为换行样式时,如果里面所有行都没有设置行高(2),则Excel显示出来的是不自动行高的;
但是如果其中有一行设置了行高(1),Excel显示出来的就是自动行高的样式;







对比压缩包里的 xl\worksheets\sheet1.xml里的代码,主要关注代码 ht="34.4" customHeight="1"
把三个压缩包后缀改为.xlsx就可以Excel打开查看效果了;

Alice 发表于 2015-12-31 09:45:00

回复 8楼KNight的帖子

非常谢谢@KNight的热心相助。

q406157290 发表于 2015-12-31 15:24:00

回复 8楼KNight的帖子

恩啊 谢谢你 所以感觉没有必要给FlexGrid的row设置C1FlexGrid1.AutoSizeRows(0, C1FlexGrid1.Rows.Count - 1, 7, true)了;:nbtz5:
页: [1] 2
查看完整版本: C1FlexGrid excel输出