Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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#使用json数据创建excel文件?_C#_Json_Excel - Fatal编程技术网

如何使用c#使用json数据创建excel文件?

如何使用c#使用json数据创建excel文件?,c#,json,excel,C#,Json,Excel,我有示例json数据,希望使用该数据创建一个xls文件 "{\"Id\":\"123\",\"Name\":\"DEMO\",\"Address\":\"US\",\"Team\":\"JK\"}" 想要创建excel文件流,我将使用以下代码将其上载到azure存储上- CloudFile cloudFile = cloudFileDirectory.GetFileReference("filename.xls"); cloudFile.UploadFromStream(fileStream)

我有示例json数据,希望使用该数据创建一个xls文件

"{\"Id\":\"123\",\"Name\":\"DEMO\",\"Address\":\"US\",\"Team\":\"JK\"}"
想要创建excel文件流,我将使用以下代码将其上载到azure存储上-

CloudFile cloudFile = cloudFileDirectory.GetFileReference("filename.xls");
cloudFile.UploadFromStream(fileStream);
var result = new StringBuilder();
    for (int i = 0; i < table.Columns.Count; i++)
    {
        result.Append(table.Columns[i].ColumnName);
        result.Append(i == table.Columns.Count - 1 ? "\n" : delimator);
    }
    foreach (DataRow row in table.Rows)
    {
        for (int i = 0; i < table.Columns.Count; i++)
        {
            result.Append(row[i].ToString());
            result.Append(i == table.Columns.Count - 1 ? "\n" : delimator);
        }
    }
    return result.ToString().TrimEnd(new char[] { '\r', '\n' });
预期产出-

我可以通过以下代码创建csv-

CloudFile cloudFile = cloudFileDirectory.GetFileReference("filename.xls");
cloudFile.UploadFromStream(fileStream);
var result = new StringBuilder();
    for (int i = 0; i < table.Columns.Count; i++)
    {
        result.Append(table.Columns[i].ColumnName);
        result.Append(i == table.Columns.Count - 1 ? "\n" : delimator);
    }
    foreach (DataRow row in table.Rows)
    {
        for (int i = 0; i < table.Columns.Count; i++)
        {
            result.Append(row[i].ToString());
            result.Append(i == table.Columns.Count - 1 ? "\n" : delimator);
        }
    }
    return result.ToString().TrimEnd(new char[] { '\r', '\n' });
var result=new StringBuilder();
for(int i=0;i
要从json文件生成xls文件,您应该完成以下步骤

  • 读取文件
  • 将JSON文件(最好)解析为c#类对象
  • 选择xls框架(使用OpenXMLSDK或您找到的任何人)
  • 使用步骤2中的结构,使用步骤3中的框架API填充xls文件中的列和行

  • 如果您已经有一个数据表,那么您可以使用EPPLus将数据表转换为电子表格,就像转换饼图一样简单。代码可以如此简单:

    FileInfo f = new FileInfo("filename.xlsx");
    ExcelPackage package = new ExcelPackage(f);
    
    ExcelWorksheet ws = package.Workbook.Worksheets.Add("Data");
    ws.Cells["A1"].LoadFromDataTable(table, true);
    
    如果您对日期格式等有一些特殊的处理,可能需要做更多的工作,但不会太多

    来自Nuget:

    Install-Package EPPlus
    

    如果您曾经使用过Excel Interop,您一定会喜欢使用EPPlus是多么简单。

    将JSON输入转换为对象,创建Excel文件并将这些对象写入其中。到目前为止您尝试了什么?你的研究结果是什么?添加了csv代码