如何使用excelinteropc#在excel单元格中插入带点符号的字符串



我有一个没有标题的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将像文本一样将任何数字格式化为数字。

最新更新