2016-11-28 105 views
0

我已經在我的應用程序中導出到Excel函數。 程序本身沒有問題,但是在導出數據時,它顯示DateTime值爲dd/MM/yyyy 00:00:00,在導入之前在DataGridView上顯示它們時,會在某些位置顯示空單元格。導出到Excel - 創建日期時間列日期

我需要調整我的導出代碼以刪除數據的時間部分,並只顯示日期。當我在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() 
+0

這也許[問題](http://stackoverflow.com/questions/7106238/changing-date-format-to-yyyy-mm-dd)可以幫助 –

+0

@Harmambe從我在問題中讀到的內容,那是什麼答案是在格式化Excel單元格。 'cell.NumberFormat =「yyyy-mm-d; @」' –

+0

你必須循環遍歷列並格式化單元格然後 –

回答

1
  • 聲明將被用於指代一個範圍,例如一個變量;

Dim eRange as Excel.Range

  • 然後,設置範圍在Worksheet

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

  • 然後設置格式,使用.NumberFormat

eRange.NumberFormat = "dd/MM/yyyy"

FYI:This link含有相當的信息都很多,你可以在任何時候需要有關如何使用VB格式的Excel數據和細胞

+0

我昨天已經找到了這個鏈接,應該可能已經刪除了這個問題,但是這是我做到了這一點。謝謝 – Harambe

相關問題