【问题标题】:Is it possible to use ClosedXML to read Excel file to Ax 2012?是否可以使用 ClosedXML 将 Excel 文件读取到 Ax 2012?
【发布时间】:2019-06-03 13:15:42
【问题描述】:

我使用 ClosedXML 从 AX 2012 R3 创建了一个包含 3 个工作表的 excel 文件。

我想知道是否可以使用 ClosedXML 将 excel 文件读回 AX?

【问题讨论】:

  • 您有任何代码或您尝试过的任何东西吗?
  • 嗨@AlexKwitny,目前还没有。更多的是一个问题,是否可以做到。只是想知道是否有人设法做到了。
  • 不确定,但我不明白你为什么不能?如果您打算在常规 Excel 实用程序上使用它,则将所有内容包装在一个程序集中然后从 AX 引用它可能会更简单。
  • 您能否展示您如何使用 ClosedXML 从 Ax 创建 Excel 文件?
  • @FH-Inway 我创建了一个 DataTable 并根据需要添加了列和数据行。然后我通过 ClosedXML 传递该 DataTable 以使我能够创建所需的 Excel 文件和工作表。超级简单,在 10 秒内创建大约 5,000 行。

标签: excel axapta x++ dynamics-ax-2012 closedxml


【解决方案1】:

是的,这是可能的。 下面是示例代码:

ClosedXML.Excel.XLWorkbook     workbook;
ClosedXML.Excel.IXLWorksheet   worksheet;
ClosedXML.Excel.IXLCells       cellsUsed;
ClosedXML.Excel.IXLCell        cell;
System.Collections.IEnumerator enumerator;
str                            value;
;

try 
{
    workbook = new ClosedXML.Excel.XLWorkbook(@"YourTestFile.xlsx");
    worksheet = workbook.Worksheet("SomeEpicSheetName");

    cellsUsed = worksheet.CellsUsed();
    enumerator = cellsUsed.GetEnumerator();
    while (enumerator.MoveNext())
    {
        cell = enumerator.get_Current();
        value = System.Convert::ToString(cell.get_Value());
        info(value);
    }
}
catch
{
    error(AifUtil::getClrErrorMessage());
}

此代码在InfoLog 中为每个填充了值的单元格创建一条消息。更改使用的路径和工作表名称后,您可以将其用作任何新作业的开始。

这是我的示例表:

输出:

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多