在 excel c# 中设置导入文本的格式
本文关键字:文本 格式 导入 设置 excel | 更新日期: 2023-09-27 18:31:37
大家好,我想为下一个寻求帮助。
我想使用 workbooks.opentext 方法将 txt 文件加载到 C# 中的 Excel 中! 它运行良好,但在文本数据中有一些数字包含","字符,这是整个文本的主要分隔符让我展示你
'1200000','29,8','DUPAREC PAPÍRGYŰJTŐ ÉS FELD. KFT','
问题出在第二列.
有没有人知道如何避免这个问题? 我的代码是下一个
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
int[,] fieldInfo = new int[4, 2] { { 1, 2 }, { 2, 4 }, { 3, 2 }, { 4, 2 } };
object oFieldInfo = fieldInfo;
xlApp = new Excel.Application();
object missing = System.Reflection.Missing.Value;
xlApp.Workbooks.OpenText(
filepath,Excel.XlPlatform.xlWindows,
1,
Excel.XlTextParsingType.xlDelimited,
Excel.XlTextQualifier.xlTextQualifierNone,
false,
false,
false,
true,
false,
false,
missing,
oFieldInfo,
missing,
missing,
missing,
missing,
missing
);
此致敬意!
史密斯!
由于限定文本的字符是'(单引号),因此您必须将Excel.XlTextQualifier.xlTextQualifierSingleQuote作为参数传递。
有关详细信息,请参阅 Excel 开发人员参考。
下面的代码应该使您的导入正常工作。
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
int[,] fieldInfo = new int[4, 2] { { 1, 2 }, { 2, 4 }, { 3, 2 }, { 4, 2 } };
object oFieldInfo = fieldInfo;
xlApp = new Excel.Application();
object missing = System.Reflection.Missing.Value;
xlApp.Workbooks.OpenText(
filepath,Excel.XlPlatform.xlWindows,
1,
Excel.XlTextParsingType.xlDelimited,
Excel.XlTextQualifier.xlTextQualifierSingleQuote,
false,
false,
false,
true,
false,
false,
missing,
oFieldInfo,
missing,
missing,
missing,
missing,
missing
);
因为您定义了第二列为字段中格式化的日期时间信息数组"29,8"将显示为 29。八月在Excel中。
您应该将 {...,{2,4},...} 替换为 {...,{2,1},...},以便 Excel 将数字解析为数字。