OLEDB写入excel的空间

我正在使用OLEDB将string写入Excel文件。 它有效,除了有时由于某种原因文本的开始/结束的空间丢失。 像“abc”或“abc \ r \ n”这样的东西变成了“abc”。 我注意到通过打开生成的文件在Microsoft Excel中,我看不到空间。 而当我使用OLEDB读取生成的文件时,我看不到空间。 更新:经过一些testing,我发现这不是因为OLEDB。 通过OLEDB生成excel文件后,我用一点excel自动化来格式化文件。 我做的事情非常简单,只是改变了2列的宽度,这一点代码以某种方式删除了空间。 任何build议表示赞赏。

excel = new Excel.Application(); excel.Workbooks.Open(file, 0, false, 5, System.Reflection.Missing.Value, System.Reflection.Missing.Value, false, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true); excel.Visible = false; foreach (var obj in excel.Workbooks[1].Worksheets) { Excel.Worksheet sheet = (Excel.Worksheet)obj; sheet.Columns["B"].ColumnWidth = 50; sheet.Columns["C"].ColumnWidth = 120; } excel.Workbooks[1].SaveAs(file, Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing); 

更新:看来这纯粹是一个Excel的问题,删除自动化代码将生成与我的期望相同的Excel文件。 但打开/保存没有任何改变内MS MS Excel将删除前导/尾随空间。