C# 如何在excel中将日期和数字格式转换为文本,以便在使用ODBC进行查询时,它以字符串形式返回数据字段

C# 如何在excel中将日期和数字格式转换为文本,以便在使用ODBC进行查询时,它以字符串形式返回数据字段,c#,excel,vba,C#,Excel,Vba,问题->最近我完成了一个输入为excel的导入程序。 为了让事情变得更糟或更好,我假设excel工作表的每一列都是字符串类型。 在excel中,我们有一些包含MPN和零件号的字段。内部零件号存储为xx/xx/xxxx,看起来与英国日期格式相同。 excel将这些列作为数字和数据,我从未要求它这样做。 如果我使用odbc查询这张表,那么我会得到附加了MPN的.0和作为datetime得到的零件号。 为了解决这个问题,我尝试将工作表粘贴到另一张空白工作表中,我还尝试粘贴特殊值,但无法将其粘贴到文本格

问题->最近我完成了一个输入为excel的导入程序。 为了让事情变得更糟或更好,我假设excel工作表的每一列都是字符串类型。 在excel中,我们有一些包含MPN和零件号的字段。内部零件号存储为xx/xx/xxxx,看起来与英国日期格式相同。 excel将这些列作为数字和数据,我从未要求它这样做。 如果我使用odbc查询这张表,那么我会得到附加了MPN的.0和作为datetime得到的零件号。 为了解决这个问题,我尝试将工作表粘贴到另一张空白工作表中,我还尝试粘贴特殊值,但无法将其粘贴到文本格式。我甚至试着把它粘贴到记事本上,但这样做就是把数字转换成科学记数法。
我的问题:如何将类型更改为文本,而不将其转换为值。

选择列,右键单击“设置单元格格式”,然后选择“文本”。但是这里有一个警告,因为日期的内部格式是一个数字,那么我想你会得到作为文本的基本数字


保存为CSV将是一个简单的解决方法。

更改导入程序,使其将所有导入的值转换为字符串?在Excel VBA中,它将如下所示:

Function importDateAsString(rng As Range)
    importDateAsString = CStr(rng.Value)
End Function