我在 F# 中使用 Microsoft.Office.Interop.Excel 为最终用户自动打开 CSV 文件并将其转换为 Excel 工作簿。
在使用整数为 F# 中的 OpenText() 调用指定字段信息参数时,我收到关于使用整数的运行时抱怨——它们不是 XlColumnDataTypes。
let fieldInfo = [| [|1;2|] ; [|2;2|] ; [|3;1|] ; [|4;1|] ; [|5;1|] ; [|6;1|] ; [|7;1|] ; [|8;1|] |]
let xl = ApplicationClass()
xl.Workbooks.OpenText(fileName, StartRow=1, DataType=XlTextParsingType.xlDelimited,
TextQualifier=XlTextQualifier.xlTextQualifierNone, Comma=true,
FieldInfo=fieldInfo)
let wb = xl.Workbooks.Item(1)
错误:未处理 SafeArrayTypeMismatchException:指定的数组不是预期的类型。
但是当我指定 XlColumnDataTypes 时,我收到编译时抱怨我没有使用整数。
let fieldInfo = [| [|1;XlColumnDataType.xlTextFormat|];
[|2;XlColumnDataType.xlTextFormat|];
[|3;XlColumnDataType.xlGeneralFormat|];
[|4;XlColumnDataType.xlGeneralFormat|];
[|5;XlColumnDataType.xlGeneralFormat|];
[|6;XlColumnDataType.xlGeneralFormat|];
[|7;XlColumnDataType.xlGeneralFormat|];
[|8;XlColumnDataType.xlGeneralFormat|] |]
错误:此表达式应为 int 类型,但此处为 XlColumnDataType 类型。
有没有其他人见过这个?有谁知道解决这个问题的方法?
谢谢!