【问题标题】:Exporting to Excel - Make DateTime columns into Date导出到 Excel - 将 DateTime 列转换为 Date
【发布时间】:2017-04-12 10:33:01
【问题描述】:

我的应用程序中有一个导出到 Excel 功能。 程序本身没有问题,但是在导出数据时,它会将DateTime 的值显示为dd/MM/yyyy 00:00:00,在导入之前将它们显示在DataGridView 上时,会在某些地方显示空单元格。

我需要调整我的导出代码以删除数据的时间部分,并只显示日期。当我在 Excel 中突出显示单元格时,我将其格式化为格式为 dd/MM/yyyy 的“日期”。

如何以编程方式执行此操作?

我的代码

Dim xlapp As Excel.Application
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Dim misvalue As Object = Reflection.Missing.Value

xlapp = New Excel.Application
xlWorkbook = xlapp.Workbooks.Add(misvalue)
xlWorksheet = xlWorkbook.Sheets.Add
xlWorksheet.Name = "SupplierInformation"
xlWorksheet.Cells.NumberFormat = "@"

  For k As Integer = 1 To dgvExport.Columns.Count
    xlWorksheet.Cells(1, k) = dgvExport.Columns(k - 1).HeaderText
  Next

  For i = 0 To dgvExport.RowCount - 1
    For j = 0 To dgvExport.ColumnCount - 1
       xlWorksheet.Cells(i + 2, j + 1) = dgvExport(j, i).Value.ToString
     Next
   Next

xlWorksheet.Columns.AutoFit()

【问题讨论】:

  • 也许这个question 可以提供帮助
  • @Harmambe 从我在问题中读到的内容,这就是答案正在格式化excel单元格。 cell.NumberFormat = "yyyy-mm-d;@"
  • 您必须遍历列并格式化单元格然后

标签: excel vb.net datetime format export


【解决方案1】:
  • 声明将用于引用范围的变量,例如;

Dim eRange as Excel.Range

  • 然后,在Worksheet 中设置范围

eRange = xlWorksheet.Range("A1", B5")

  • 然后设置格式,使用.NumberFormat

eRange.NumberFormat = "dd/MM/yyyy"

仅供参考:This link 包含您可能需要的关于如何使用 VB 格式化 Excel 数据和单元格的几乎所有信息

【讨论】:

  • 我昨天已经找到了这个链接,应该已经删除了这个问题,但是我就是这样做的。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-10
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多