【发布时间】: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