如何使用C#使用JSON数据创建Excel文件?

时间:2018-07-19 10:08:18

标签: c# json excel

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

"{\"Id\":\"123\",\"Name\":\"DEMO\",\"Address\":\"US\",\"Team\":\"JK\"}"

要创建一个excel文件流,我将使用以下代码将其上传到azure存储上-

CloudFile cloudFile = cloudFileDirectory.GetFileReference("filename.xls");
cloudFile.UploadFromStream(fileStream);

预期输出- enter image description here

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

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' });

2 个答案:

答案 0 :(得分:1)

要从json文件生成xls文件,您应该执行以下步骤

  1. 读取文件
  2. 将JSON文件(最好是Json.NET)解析为c#类对象。
  3. 选择xls框架(使用Open XML SDK或您发现的任何人)
  4. 使用步骤2中的结构使用步骤3中的框架API填充xls文件中的列和行。

答案 1 :(得分:0)

如果您已经有一个数据表,则可以使用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的使用变得如此简单。