找回密码
 立即注册

QQ登录

只需一步,快速开始

pbuilder
注册会员   /  发表于:2011-6-28 13:00:00
21#
你是否做了以下操作
选中第一列数据中的几行(也就是选中TRUE值)
--右键--设置单元格格式--保护-锁定 勾上
保存EXCEL
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-28 14:12:00
22#
通过18楼的代码导出的Excel是无法进行单元格的属性设置,因为是兼容模式打开的Excel文件
单元格格式.png (42.04 KB, 下载次数: 407)
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-28 14:23:00
23#

回复 21# pbuilder 的帖子

我重现你的问题了,原因正在调查之中。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-28 16:26:00
24#

回复 21# pbuilder 的帖子

在设置单元格“锁定”时已经修改了单元格属性,当OpenExcel()时会把Excel的单元格格式也一块导入,所以被锁定单元格的CellType和该列的CellType已经不一致,而且单元格上的CellType设置优先级高于列的CellType设置

你可以在OpenExcel()方法之后加断点查看被修改的单元格的CellType值与没有修改的CellType是不一样的,如果想在导入时不导入Excel单元格的格式可以使用fpSpread1.OpenExcel(dlgOpen.FileName, FarPoint.Excel.ExcelOpenFlags.DataOnly);这样修改的数据也可以显示成CheckBox
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-7-1 09:44:00
25#

回复 24# Zera 的帖子

除了这种导入时只导入数据,不导格式外,
有没有什么办法能通过修改属性来处理?
也就是说这个是修改了哪个属性引起的?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-1 09:54:00
26#
“选中第一列数据中的几行(也就是选中TRUE值)--右键--设置单元格格式--保护-锁定 勾上”,以上操作之后会出现该问题,可有一点我不明白,为什么会进行该操作呢,如果不进行操作从业务上讲是否可以接受。

单元格属性是在修改Excel时被修改的,就像你说的修改之后可以用格式刷刷一次,然后再倒入。或者,在导入之后你对该列中Cell.CellType不是CheckBox的单元格进行单独的CellType设置。
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-7-1 14:01:00
27#

回复 26# Zera 的帖子

保护-锁定 只是一个例子,
这个例子说明只要打开单元格格式设置保存就会出现这问题.
因为用户在使用过程中很有可能会打开这个保存下,
另外我在导入后,不是有代码重新设置了第一列的CELLTYPE属性么,你自己写的事例上你再看下,也是有设置的,但是是失效的
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-7-1 15:15:00
28#
你在调试的时候可以看到,你修改之后的单元格导入之后其CellType是有值的,而没有修改的单元格的CellType没有值。然而,Spread的设计是在设置CellType时Cell.CellType的优先级高于Columns.CellType
回复 使用道具 举报
jh905575355
新手上路   /  发表于:2011-8-5 14:02:00
29#

回复 24# Zera 的帖子

Zera 你好!刚才看了你这个帖子,我今天在用的时候也遇到了类似的问题,想向你请教下:以下是我用到的代码
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    MPCF.ClearList(spdImportList);//清空
                    txtPath.Text = openFileDialog1.FileName;
                    spdImportList.OpenExcel(txtPath.Text,FarPoint.Excel.ExcelOpenFlags.DataOnly);
                                    
                }
按照你上面所说的,使用FarPoint.Excel.ExcelOpenFlags.DataOnly导入Excel的应该只是数据,但是我这个代码导入后和没有使用是一样的效果,还是把Excel的单元格式导入进来了,难道这里漏掉了什么?
回复 使用道具 举报
jh905575355
新手上路   /  发表于:2011-8-5 14:07:00
30#

导入前后对比

导入前后对比

jpg

jpg

jpg

jpg
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部