Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言批量导出Excel_C#_.net_Export To Excel_Openxml - Fatal编程技术网

C# 用C语言批量导出Excel

C# 用C语言批量导出Excel,c#,.net,export-to-excel,openxml,C#,.net,Export To Excel,Openxml,我们有大约10万行要写入Excel。数据是JSON格式的&我们使用JSON.Net解析数据并写入Excel。 为了编写Excel,我们使用开放式XML 我们不想为JSON创建POCO&因此使用JToken直接读取JSON并写入文件。 当列数较少时,我们不会遇到任何问题,但如果Excel中有大约200列,则似乎存在一些性能问题 任何关于如何解决这个问题的建议,或者我们可以实现期望输出的其他方法 更新代码: using (SpreadsheetDocument Excelfile = Spread

我们有大约10万行要写入Excel。数据是JSON格式的&我们使用JSON.Net解析数据并写入Excel。 为了编写Excel,我们使用开放式XML

我们不想为JSON创建POCO&因此使用JToken直接读取JSON并写入文件。 当列数较少时,我们不会遇到任何问题,但如果Excel中有大约200列,则似乎存在一些性能问题

任何关于如何解决这个问题的建议,或者我们可以实现期望输出的其他方法

更新代码:

 using (SpreadsheetDocument Excelfile = SpreadsheetDocument.Open(filepath, true))
        {

            Worksheet worksheet;
            worksheet = Excelfile.WorkbookPart.WorksheetParts.First().Worksheet;

            JToken JTokenObj = JObject.Parse(JsonResp);
            List<JToken> JTokenList = JTokenObj["jsonkey"].ToList<JToken>();
            SheetData sheetData = worksheet.GetFirstChild<SheetData>();

            foreach(var tokenObj in JTokenList)
            {
                Row row;
                row = new Row() { RowIndex = i };
                sheetData.Append(row);


                Cell newCell = new Cell() { CellReference = cellAddress };

                newCell.CellValue = new CellValue(tokenObj["attributeName"]);

                row.AppendChild(newCell);
            }
            Excelfile.WorkbookPart.Workbook.Save();
            Excelfile.Close();
        }

你已经分析过瓶颈到底是什么了吗?您是直接编写开放式XML还是使用组件来编写开放式XML?您可以通过添加有关单个步骤的更多详细信息来改进对流程的描述,您是否准确地看到了性能问题。请使用一些代码更新帖子。问题是这个过程被卡住了。并抛出一个异常。进行分析以获得确切的异常,但想知道我们是否在这里做了一些根本错误的事情。向我们提供有关异常的详细信息似乎至关重要。