找回密码
 立即注册

QQ登录

只需一步,快速开始

haomi20032003

初级会员

29

主题

92

帖子

293

积分

初级会员

积分
293
haomi20032003
初级会员   /  发表于:2019-8-28 22:00  /   查看:4498  /  回复:6
1金币
导出excel后,下拉菜单变成数字了,请问怎么解决?




6 个回复

倒序浏览
haomi20032003
初级会员   /  发表于:2019-8-28 22:01:03
沙发

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-29 11:52:04
板凳
给我个设置代码,或者demo,您怎么设置的下拉菜单
回复 使用道具 举报
haomi20032003
初级会员   /  发表于:2019-8-29 15:39:57
地板
a 是后台的数字列,b是对应的值


ReDim a(0 To ds.Tables("IDA_Select_List_Attribute").Rows.Count - 1)
        ReDim b(0 To ds.Tables("IDA_Select_List_Attribute").Rows.Count - 1)
        a = cl_common.fc_dt_column_tostring(ds.Tables("IDA_Select_List_Attribute"), "存储值")
        b = cl_common.fc_dt_column_tostring(ds.Tables("IDA_Select_List_Attribute"), "显示值")
        If dr_temp.Count = 0 Then '如果当前值不在下拉菜单,必须先加进去,否则看不到
            ReDim Preserve a(0 To a.Length)
            ReDim Preserve b(0 To b.Length)
            a(a.Length - 1) = current_value
            b(b.Length - 1) = current_value
        End If
        cmbocell.ItemData = a
        cmbocell.Items = b  '显示的值
        cmbocell.AutoSearch = FarPoint.Win.AutoSearch.MultipleCharacter
        cmbocell.EditorValue = FarPoint.Win.Spread.CellType.EditorValue.ItemData
        cmbocell.AutoCompleteMode = AutoCompleteMode.SuggestAppend
        cmbocell.AutoCompleteSource = AutoCompleteSource.ListItems
        cmbocell.DropDownOptions = DropDownOptions.Button
        cmbocell.AcceptsArrowKeys = True
        cmbocell.MaxDrop = 8
        cmbocell.DoubleClickTextToDropDown = True
        FpSpread1.ActiveSheet.Cells(address.Replace("$", "")).CellType = cmbocell
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-29 16:41:31
5#
因为您EditorValue设置的是ItemData,导出Excel的时候就会想ItemData对应的值导出到Excel。
可以设置SaveAsViewed,将看到的文本导出excel

  1.             fpSpread1.SaveExcel(@"C:\Data\ExportedExcel.xlsx", FarPoint.Excel.ExcelSaveFlags.SaveAsViewed| FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat);
复制代码
回复 使用道具 举报
haomi20032003
初级会员   /  发表于:2019-8-29 16:49:48
6#
dexteryao 发表于 2019-8-29 16:41
因为您EditorValue设置的是ItemData,导出Excel的时候就会想ItemData对应的值导出到Excel。
可以设置SaveA ...

FpSpread1.SaveExcel(OpenFileDialog1.FileName, FarPoint.Excel.ExcelSaveFlags.SaveAsViewed Or FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat) VB.net是这样写的吗?依然无效啊,而且下拉菜单中的内容比较少,我在软件中设置了几千个下拉值
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-8-30 10:07:58
7#
抱歉,combo的行为不一样,需要在导出前复制文本,替换id,然后再导出。
可以新建一个临时的spread专门导出。参考https://gcdn.grapecity.com.cn/fo ... p;extra=&page=2
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部