找回密码
 立即注册

QQ登录

只需一步,快速开始

pbuilder

注册会员

13

主题

49

帖子

108

积分

注册会员

积分
108

活字格认证

pbuilder
注册会员   /  发表于:2011-6-22 16:16  /   查看:20555  /  回复:32
我在FPSPREAD里设置了一列为checkbox

            FarPoint.Win.Spread.CellType.CheckBoxCellType checkType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
FpS_Sheet1.Columns[0].CellType = checkType ;

要从EXCEL导出 再导入,还是能正常显示是checkbox样式,
但我自己手工在EXCEL里增加了几条数据后,发现再导入,这一列全显示为TRUE ,不再是Checkbox格式了.
.如何解决?
以下的导入代码
public void LoadExcel()
{
fpS.OpenExcel(newfilepath, FarPoint.Excel.ExcelOpenFlags.ColumnHeaders);
FarPoint.Win.Spread.CellType.CheckBoxCellType checkType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
FpS_Sheet1.Columns[0].CellType = checkType ;
}

32 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-22 17:23:00
沙发

回复 1# pbuilder 的帖子

手工在EXCEL里增加了几条数据后
-> 你手动添加的数据是什么数据呢,特别是在CheckBox的列输入的什么值,该列可以输入TRUE 和 FALSE
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-6-22 20:03:00
板凳
手动添加就是第一列自己写TRUE
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-22 21:24:00
地板

回复 3# pbuilder 的帖子

你能做一个Demo演示导出、导入操作,并把修改后的Excel发给我吗,我看能否在我这里重现该问题。
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-6-27 16:19:00
5#
代码如下:
  1. private void button2_Click(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.OpenExcel(@"d:\a.xls", FarPoint.Excel.ExcelOpenFlags.ColumnHeaders);
  4.             InitSpread();
  5.         }

  6.         private void InitSpread()
  7.         {
  8.             FarPoint.Win.Spread.CellType.CheckBoxCellType checkType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
  9.             fpSpread1_Sheet1.Columns[0].CellType = checkType;
  10.         }
复制代码
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-6-27 16:20:00
6#
代码如下:
  1. private void button2_Click(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.OpenExcel(@"d:\a.xls", FarPoint.Excel.ExcelOpenFlags.ColumnHeaders);
  4.             InitSpread();
  5.         }

  6.         private void InitSpread()
  7.         {
  8.             FarPoint.Win.Spread.CellType.CheckBoxCellType checkType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
  9.             fpSpread1_Sheet1.Columns[0].CellType = checkType;
  10.         }
复制代码

a.rar

1.52 KB, 下载次数: 700

rar

回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-27 16:42:00
7#
你附件中a.xls的第一行是进行了什么设置呢,第一行没有数据,但有背景色。

jpg

jpg


删除第一行之后导入就可以正常显示
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-6-27 17:02:00
8#

回复 7# Zera 的帖子

这个EXCEL我是从FPSPREAD里导出的,我的导出代码导出了头,所以会有第一列
导出代码
fpSpread1.SaveExcel(@"d:\abcd.xls", FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
回复 使用道具 举报
pbuilder
注册会员   /  发表于:2011-6-27 17:05:00
9#
这个事例上我没写列头,所以显示是空白的,其实是有列头的,你看我的导出和导入代码,都是带列头的
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-6-27 17:31:00
10#
我使用以下代码之后可以正常操作,你可以试一下:

  1.         private void Form2_Load(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.ActiveSheet.Protect = false;
  4.             fpSpread1.ActiveSheet.ColumnHeader.SetClip(0, 0, 1, 5, "AAA\tBBB\tCCC\tDDD\tEEE");
  5.             CheckBoxCellType cbc = new CheckBoxCellType();
  6.             fpSpread1.ActiveSheet.Columns[0].CellType = cbc;
  7.         }

  8.         private void btnSave_Click(object sender, EventArgs e)
  9.         {
  10.             fpSpread1.SaveExcel(@"aaa.xls", FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
  11.         }

  12.         private void btnOpen_Click(object sender, EventArgs e)
  13.         {
  14.             fpSpread1.OpenExcel(@"aaa.xls", FarPoint.Excel.ExcelOpenFlags.RowAndColumnHeaders);
  15.             FarPoint.Win.Spread.CellType.CheckBoxCellType checkType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
  16.             fpSpread1_Sheet1.Columns[0].CellType = checkType;
  17.             fpSpread1.ActiveSheet.Protect = false;
  18.         }
复制代码
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部