s-s-rS 导出为 CSV 格式
Posted
技术标签:
【中文标题】s-s-rS 导出为 CSV 格式【英文标题】:s-s-rS Exporting to CSV format 【发布时间】:2014-06-20 19:44:54 【问题描述】:当我将我的信息导出为 CSV 文件时,它是原始数据格式并易于在其中一个字段中使用时,我有一个很大的数字(例如,140313055811)。它实际上只是一个发票编号,但是当我将其导出为 CSV 并打开它时,它会显示类似 1.41E+11 的内容。我需要让它显示完整的数字而不是这个。有办法吗?我尝试将其作为数字输入的文本框,我尝试使字段的值区域=int(字段名称),我尝试将其更改为文本。这些都不行。
唯一有效的是 =FormatNumber(fieldname),虽然它确实有效,但它在中间放置了逗号,就好像它是一个大数字(这是一个发票号)。所以我在想我可以使用 =Format 函数,但是当它在表达式中要求“样式为字符串”时,我该放什么?
我需要在企业共享点网站上自动生成此报告,这就是为什么我竭尽全力尝试让它自动正确显示的原因。
将其导出为excel表格,数据难以使用,CSV表格是操作数据的最佳方式。
感谢您的帮助,我很感激
【问题讨论】:
您是否使用文本编辑器打开了 CSV,以确保“1.41E+11”不仅仅是 Excel 是 Excel? 这是 excel 更改格式,但在日期范围内它没有,这在过去从未发生过。我宁愿它告诉我#########,它说该列太小而不是更改发票的格式# 【参考方案1】:您可以使用 IIF 条件并检查您要导出的格式来做到这一点 - 类似于:
=IIF(Globals!RenderFormat.Name = "EXCEL" 或 Globals!RenderFormat.Name = "CSV", "=""" + Fields!FieldName.Value + """", Fields!FieldName.Value)
然后您可以在字段值周围添加一个 = 和双引号,如图所示。这将强制 Excel 将其呈现为文本,而无需在其周围放置标签。
【讨论】:
【参考方案2】:如果您在记事本中检查 CSV 文件,您可能会发现该值是一个科学数字,甚至还没有进入 Excel。
您可以在值的前面和/或后面添加空格以使 CSV 文件正确(并将其视为文本),但 excel 无论如何都会在打开并看到数字时再次使其变得科学。
我知道导出最终在 excel 中的哪个位置使用的唯一解决方案是将一个真实字符粘贴到字符串中,例如“INV:”值之前并在 excel 文件中处理它。
= "INV: " & Fields!invoicenumber.Value
因此它将“INV:1230412893481239435”作为文本读取。
【讨论】:
以上是关于s-s-rS 导出为 CSV 格式的主要内容,如果未能解决你的问题,请参考以下文章
s-s-rS 2008 是不是支持导出为 .xlsx 格式而不是 .xls
将 s-s-rS 报告导出为 PDF 格式时出现 png 图像问题