【问题标题】:Date Format changed to 'mm/dd/yyyy' from 'dd/mm/yyyy' in Excel to CSV Convertion日期格式从 Excel 中的 'dd/mm/yyyy' 更改为 'mm/dd/yyyy' 到 CSV 转换
【发布时间】:2015-12-26 20:12:55
【问题描述】:

我正在使用安装在我的系统中的VB.Net(Dot net 版本 3.5)和Office 2007。我正在使用以下编码转换excel file to csv

  Dim xlBook As Microsoft.Office.Interop.Excel.Workbook = Nothing
  Dim xlApp As Microsoft.Office.Interop.Excel.Application = Nothing
  xlApp = New Microsoft.Office.Interop.Excel.Application
  Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet = Nothing
  Dim xRange As Microsoft.Office.Interop.Excel.Range = Nothing

  xlBook = xlApp.Workbooks.Open(D:\items.xls, True) 

  xlSheet = xlBook.ActiveSheet
  xRange = xlSheet.UsedRange

  xlSheet.SaveAs(Filename:="D:\sheet1.csv", FileFormat:=xlCSV, Local:=True,
  ReadOnlyRecommended:=True) 
  xlBook.Close(SaveChanges:=False) 

在上述项目的excel文件中,日期列的值为31-07-2015。但是在转换为csv之后。转换后的 csv 文件具有值07/31/2015。谁能帮我生成csv文件有什么问题。

【问题讨论】:

  • 日期“格式”是日期显示给人们的方式。日期没有格式。当您设置列格式时,这也是它向您显示的方式。当您保存到 csv 时,它显然会保存为不变文化,因此无论导入什么,它都不必知道格式是什么
  • @user3697824 部分正确;表示显示格式和序列化数据类型格式的区别很重要

标签: vb.net excel date csv


【解决方案1】:

我遇到了类似的问题。我认为这是.Net 中的一个巨大错误。假设您正在从一个转换到另一个,我建议的一种解决方案是首先将 Excel 文件作为数据集导入 .Net,然后将其输出为 CSV 文件,确保在日期列中的日期前面放置一个 '。防止 .Net 将日期和月份之间的顺序更改为美国格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多