【发布时间】:2017-07-09 20:27:34
【问题描述】:
这是我的代码:
'HomeP form has the excelapp, excelwb, excelws objects initialized.
HomeP.excelws.Range("C1", "C900000").NumberFormat = "dd-MMM-yyyy"
HomeP.excelws.Range("D1", "D900000").NumberFormat = "dd-MMM-yyyy"
我正在使用文本框进行输入。
HomeP.excelws.Cells(2, 3).Value = TextBox3.Text
HomeP.excelws.Cells(2, 4).Value = TextBox4.Text
[编辑]:现在的问题是,如果我输入 '23-12-2001' 那么它将在 excel 中存储为 '23-Dec-2001' 但如果我输入 '01-11-2001' 那么它将将其存储为“2001 年 1 月 11 日”。我不认为这与输入有关,而是当一天小于 12 时 Excel 如何解释它。我的系统日期格式是 dd-mm-yyyy。我想将 Excel 单元格中的日期格式设置为 'dd-MMM-yyyy'
【问题讨论】:
-
PS - 我正在使用 MS Excel 2010 和 Visual Studio 2015 进行编码。
-
如果
TextBox3.Text表示的值应该是DateTime,则将该字符串解析为DateTime变量并将该变量分配给Excel.Range.Value属性。这样做可以消除所有歧义。 -
试过了。仍然没有成功。查看下面答案中的评论。 :)
-
Tried it. Still no success.-->Dim timee As DateTime = TextBox3.Text Dim Formatt As String = "dd-MM-yyyy" Dim newdate = timee.ToString(Formatt) HomeP.excelws.Cells(2, 3).Value = newdate。那不是我建议的。您仍在分配一个字符串。试试看:HomeP.excelws.Cells(2, 3).Value = CDate(TextBox3.Text) -
非常感谢。这对我有用 :) 对不起,新手,我的错误没有正确地跟随你。
标签: vb.net