gpt4 book ai didi

reporting-services - SSRS 2008 日期格式和导出到 excel 混淆

转载 作者:行者123 更新时间:2023-12-04 12:49:45 26 4
gpt4 key购买 nike

假设我在 Reporting Services 模板中有一个带有日期值的字段,例如=CDate("2010.12.03") ,我将“d”格式应用于此单元格,根据描述,“将反射(reflect)报告的区域设置”。我用英文生成报告,日期显示为12/03/2010 ,这很好。现在,当我将此报告导出到 excel 时,我不知道 __ 发生了什么。

第一种情况:计算机的区域设置设置为英语(美国)。当我打开excel文档时,在单元格中看到的值为12/03/2010 ,正如预期的那样。当我点击它时,我可以看到单元格中存储的实际值是2010.12.03 ,这似乎也很合理 - 某些格式应用于单元格,而不是简单地导出为文本。但是当我试图弄清楚应用了哪种格式时,通过右键单击并检查“格式单元格”,我看到格式是“常规”,即没有!怎么会这样 ?顺便说一下,这是 Excel 2010,但文件本身当然是 .xls。

第二种情况,它变得更有趣:现在计算机的区域设置为例如立陶宛,日期格式为 2010.12.03 .我打开同一个文档,看到 12.03.2010 .现在这根本没有任何意义。导出很多次我遇到过,有时单元格格式为[$-10409]m.d.yyyy在 excel 中(在自定义部分下)。这是什么,10409是什么意思?最奇怪的部分:如果我没有保存就关闭文档,将计算机区域改回英语(美国),重新打开文档,格式现在是 [$-10409]m/d/yyyy !这怎么可能 !??

基本上同样的事情发生在数字和千位/小数分隔符上 - excel 使用计算机的区域来格式化这些,但单元格的实际格式可能类似于 [$-10409]#,##0.00;-#,##0.00或一般 - 再次,取决于计算机的区域,风向和外面的温度。

我的问题是,首先,__ 是怎么回事?其次,excel文档应该如何根据规范表现,即在BIDS设计的格式“将反射(reflect)报告的区域设置”的声明是什么,我为日期文本框选择了“d”格式,是什么意思?这是否意味着,格式将由报告的语言决定,结果在世界上所有的计算机上看起来都一样(这是有道理的,因为这是其他格式的行为方式,即如果您将日期导出到pdf,它始终保持不变)?如果不是,这在excel中似乎是部分情况,为什么导出的日期单元格没有区域日期格式,即您通常在excel中使用的那种,根据计算机的区域格式化日期的格式?

这些是excel的某种限制还是什么?为什么我们不能有一致的行为,即要么使所有内容都对查看文档的计算机的文化敏感,要么不这样做,为什么实际行为介于两者之间?

最佳答案

Excel 对日期使用自定义编码,并使用机器区域设置作为有关如何格式化内容的提示。编码是过时的,并且有许多特定的、历史性的问题。

这意味着您经常看到的各种错误确实会发生 - 您将拥有已导出到 Excel 的数据,一旦实际 Excel 应用程序第一次打开,其格式和内容就会被破坏。问题可能出现在任何地方——也许将数据导出到 Excel 的库不能很好地处理一些更深奥的历史案例,或者 Excel 在此过程中一直在混淆自己。

我在过去取得了一些成功,将日期作为字符串导出到 CSV 文件,去除格式,然后将它们导入 Excel/用 Excel 打开它们。

关于reporting-services - SSRS 2008 日期格式和导出到 excel 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4358472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com