VB.Net和C#不同的方式处理它。
的Excel 2013
Sub Sample()
MsgBox Sheet1.Range("A1").Value
End Sub
VB.Net 2013
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'~~> Opens an existing Workbook. Change path and filename as applicable
xlWorkBook = xlApp.Workbooks.Open("C:\Users\Siddharth\Desktop\Delete Later\Sample.xlsx")
'~~> Display Excel
xlApp.Visible = True
xlWorkSheet = xlWorkBook.Sheets("Sheet1")
MessageBox.Show(xlWorkSheet.Range("A1").Value)
'
'~~> Rest of the code
'
End Sub
Ç像你提到#2013
C#不幸的是处理它。
你可以做到这一点,以获得期望的结果
private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application xlexcel;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlexcel = new Excel.Application();
xlexcel.Visible=true ;
xlWorkBook = xlexcel.Workbooks.Open(
"C:\\Users\\Siddharth\\Desktop\\Delete Later\\Sample.xlsx",
0, true, 5, "", "", true,
Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,
"\t", false, false, 0, true, 1, 0);
// Set Sheet 1 as the sheet you want to work with
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
String cellvalue = xlWorkSheet.Cells[1, 1].Value.ToString("MM/dd/yyyy",
CultureInfo.InvariantCulture);
MessageBox.Show(cellvalue);
//
//~~> Rest of the code
//
}
日期是天天过去31日 - 12月1899年与时代是一个小数简单的1一天中的一部分。上午12:00:00(午夜)是.0,所以他们表达完全一样的东西。我根本没有发现结果不一致。 – Jeeped
同意@Jeeped,格式(cdate(“5/13/1988”),“M.DD.YYYY HH:MM:SS”)将返回相同的“5.13.1988 00:00:00”结果,所以没有不一致性 – Vasily