以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为什么导出的excel中有单引号?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96508)

--  作者:huangxueyao
--  发布时间:2017/2/22 14:39:00
--  为什么导出的excel中有单引号?

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20170222143726.png
图片点击可在新窗口打开查看


代码如下
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ex As New Exporter
    ex.Format = "Excel" \'导出格式为Excel
    ex.SourceTableName = "订单数据" \'指定导出表
    ex.Fields = "商品编码,商品名称,单价,数量,折扣,金额" \'按此顺序导出指定的字段
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Filter = Tables("订单数据").Filter
    ex.Export() \'开始导出
End If

哪里错了?

--  作者:wyz20130512
--  发布时间:2017/2/22 14:41:00
--  
上传实例看看。
--  作者:有点色
--  发布时间:2017/2/22 15:12:00
--  
 如果你编号列是字符列,就自动带有单引号。
--  作者:huangxueyao
--  发布时间:2017/2/23 7:37:00
--  
确实是字符串,好像所有的字符串都加上了单引号,包括标题栏,怎么去掉呢?
--  作者:有点蓝
--  发布时间:2017/2/23 9:04:00
--  

去不掉的,这是Excel对字符型的数值的一种表示,不会影响使用。取值的时候不会多出一个单引号。

 

如果真要想去掉可以在Excel中把列改为数值格式,每个单元格双击一下;或者使用函数把数据引到其它数值列


--  作者:huangxueyao
--  发布时间:2017/2/23 9:06:00
--  
很奇怪,如果用下面代码就不会产生单引号

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Tables("订单数据").SaveExcel(dlg.FileName, "订单数据")
End If

--  作者:huangxueyao
--  发布时间:2017/2/23 9:18:00
--  
关键是我们导出的这个表是要导入到另外一个系统中去的,这样就出现了识别错误的问题
--  作者:有点蓝
--  发布时间:2017/2/23 9:19:00
--  
SaveExcel导出来的应该是数值格式。简单判断,如果单元格内容靠左一般是字符,如果靠右就是数值
--  作者:有点色
--  发布时间:2017/2/23 11:20:00
--  
以下是引用huangxueyao在2017/2/23 9:18:00的发言:
关键是我们导出的这个表是要导入到另外一个系统中去的,这样就出现了识别错误的问题

 

那你就用6楼的方式导出。或者是用excel报表的方式导出咯。