我有一个没有标题的excel文件,我正在使用excel interop将一些文本插入到指定的单元格中。只要字符串不包含句点,一切都很好。文本已添加到单元格中,但应用程序停止工作,不再添加任何文本。下面是我的代码。
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=No;IMEX=0'", filenamepath);
using (OleDbConnection cn = new OleDbConnection(connectionString)) {
cn.Open();
OleDbCommand cmd = new OleDbCommand("INSERT INTO[sheet1$B3:B3] VALUES ('" + "Some string with dot." + "')", cn);
cmd.ExecuteNonQuery();
cn.Close();
}
尝试在"带点的字符串";具有单引号CCD_ 1。这个命令告诉Excel
将输入解释为文本,这在您的情况下显然是必需的。此外,请注意;逗号";可能会给你带来同样的问题,这取决于文化。
例如:
"INSERT INTO[sheet1$B3:B3] VALUES ('''" + "Some string with dot." + "')"
// ^^
你可以在Excel
中试用。如果没有'
前缀,Excel
将像文本一样将任何数字格式化为数字。