找回密码
 立即注册

QQ登录

只需一步,快速开始

cherylcui

注册会员

2

主题

11

帖子

25

积分

注册会员

积分
25
最新发帖
cherylcui
注册会员   /  发表于:2017-4-27 15:47  /   查看:7661  /  回复:13
我使用spread 的9.35版本 导出有 combo的数据时可以正常导出 blob647421264.png
用spread10的版本导出的是代码 怎么办
blob973594360.png

附件是导出的样表。 请尽快回复



gggg.xlsx

11.62 KB, 下载次数: 360

13 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-27 16:04:33
沙发
我这边导入导出您提供的Excel没有发现问题。 您combo是通过何种方式设置的。可否提供下代码或者重现的Demo
回复 使用道具 举报
cherylcui
注册会员   /  发表于:2017-4-27 16:34:17
板凳
这个是赋值的代码
sv.Columns[xlSheetConfig.StartColumnIndex + j - 1].CellType = spreadCodeStyle.Find(r["fcode"].ToString().ToLower()).CellType;
sv是activesheet ,xlSheetConfig.StartColumnIndex + j - 1 代表某列
spreadCodeStyle 是 NamedStyleCollection  储存了多个style


这个是我构建combo的代码,  试验的时候请自行配置
   string[] dataItem = new string[itemtable.Rows.Count];
                        string[] datatext = new string[itemtable.Rows.Count];
                        for (int i = 0; i < itemtable.Rows.Count; i++)
                        {
                            dataItem[i] = itemtable.Rows[i]["xxdm"].ToString();
                            datatext[i] = itemtable.Rows[i]["xxdmhy"].ToString();
                        }
                        codestyle.Name = row[0].ToString().ToLower();
                        FarPoint.Win.Spread.CellType.ComboBoxCellType comboBoxCellType = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
                        comboBoxCellType.ButtonAlign = FarPoint.Win.ButtonAlign.Right;
                        comboBoxCellType.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.ItemData;
                        comboBoxCellType.ItemData = dataItem;
                        comboBoxCellType.Items = datatext;
                        codestyle.VerticalAlignment = CellVerticalAlignment.Center;
                        codestyle.HorizontalAlignment = CellHorizontalAlignment.Center;
                        codestyle.CellType = comboBoxCellType;
                        spreadCodeStyle.Add(codestyle);



这个是我导出 的代码
  fpspread.SaveExcel(saveFileDlg.FileName, FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat);
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-27 17:32:40
地板
这个是因为您 EditorValue设置的是 ItemData,这个单元格的值就是选择的ItemData。如果希望导出Items,那么设置

            comboBoxCellType.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.String;
回复 使用道具 举报
cherylcui
注册会员   /  发表于:2017-4-27 18:03:15
7#
dexteryao 发表于 2017-4-27 17:32
这个是因为您 EditorValue设置的是 ItemData,这个单元格的值就是选择的ItemData。如果希望导出Items,那么 ...

我保存的时候需要的是itemdata  就是显示的是中文 保存的时候是代码
回复 使用道具 举报
cherylcui
注册会员   /  发表于:2017-4-28 08:49:30
8#
dexteryao 发表于 2017-4-27 17:32
这个是因为您 EditorValue设置的是 ItemData,这个单元格的值就是选择的ItemData。如果希望导出Items,那么 ...

Excel中的数据需要保存在数据库中, 所以他的value设的是代码, 我的是9.35版本 保存成excel时候是汉字。 10保存的时候就是代码。 所以 这个您看看是不是bug
回复 使用道具 举报
cherylcui
注册会员   /  发表于:2017-4-28 08:55:55
9#
dexteryao 发表于 2017-4-27 17:32
这个是因为您 EditorValue设置的是 ItemData,这个单元格的值就是选择的ItemData。如果希望导出Items,那么 ...

代码比较长 没法提供demo ,技术路线是这样的。 制作xml的模板(含有combobox), 然后读取数据库中的数据,填充到模板中, 数据库中的数据对应combobox列自动翻译成汉字,然后保存为excel2007  
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-28 09:31:02
10#
我明白您的意思,这个问题我需要确认下。并看看有没有简单的解决方案,稍后给您答复
回复 使用道具 举报
cherylcui
注册会员   /  发表于:2017-4-28 10:28:01
11#
dexteryao 发表于 2017-4-28 09:31
我明白您的意思,这个问题我需要确认下。并看看有没有简单的解决方案,稍后给您答复

我新建的工程就没有这个问题。 老工程就有这个问题。 闹不明白啊, 我重新加载工程试一下吧
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-28 17:45:36
12#
这个问题我也在持续跟踪,有结论给您答复
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部