Magicodes.IE使用Json的JObject进行Excel导出

分 类: Dotnet - 办公
来 源:
地 址:
sam 2024-05-03 16:12:24

功能

将Json字符串格式成JObject作为数据传入至Excel模板进行导出

模板

【来自官方】

代码

/// <summary>
        /// 测试1
        /// 使用json进行格式化导出
        /// </summary>
        public static void Test1()
        {
            string json = @"{
      'Company': '雪雁',
      'Address': '湖南长沙',
      'Contact': '雪雁',
      'Tel': '136xxx',
      'BookInfos': [
        {'No':'a1','RowNo':1,'Name':'Docker+Kubernetes应用开发与快速上云','EditorInChief':'李文强','PublishingHouse':'机械工业出版社','Price':65,'PurchaseQuantity':10000,'Cover':'https://img9.doubanio.com/view/ark_article_cover/retina/public/135025435.jpg?v=1585121965','Remark':'备注'},
        {'No':'a1','RowNo':1,'Name':'Docker+Kubernetes应用开发与快速上云','EditorInChief':'李文强','PublishingHouse':'机械工业出版社','Price':65,'PurchaseQuantity':10000,'Cover':'https://img9.doubanio.com/view/ark_article_cover/retina/public/135025435.jpg?v=1585121965','Remark':'备注'}
      ]
    }";

            var jobject = JObject.Parse(json);
            var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "ExportTemplates",
                "DynamicExportTpl.xlsx");

            //创建Excel导出对象
            IExportFileByTemplate exporter = new ExcelExporter();
            //导出路径
            var filePath = Path.Combine(Directory.GetCurrentDirectory(), DateTime.Now.ToString("yyyyMMddhhmmssfff") +".xlsx");
            if (File.Exists(filePath)) File.Delete(filePath);

            //exporter.

            //根据模板导出
            TestInfo testInfo = new TestInfo() { Name = "xx" };
            var task = exporter.ExportByTemplate<JObject>(filePath, jobject, tplPath);

            Console.WriteLine(task.Result.FileName);
            string r = "xx";


        }

功能说明

1、将Json字符串转换成JObject

2、将ExcelExporter进行导出

3、var task = exporter.ExportByTemplate<JObject>(filePath, jobject, tplPath); 将JSON对象进行传入至Excel进行数据输出

模板格式说明

  {{Company}}  //单元格渲染
  {{Table>>BookInfos|RowNo}} //表格渲染开始语法
  {{Remark|>>Table}}//表格渲染结束语法
  {{Image::ImageUrl?Width=50&Height=120&Alt=404}} //图片渲染
  {{Image::ImageUrl?w=50&h=120&Alt=404}} //图片渲染
  {{Image::ImageUrl?Alt=404}} //图片渲染
  {{Formula::AVERAGE?params=G4:G6}}  //公式渲染
  {{Formula::SUM?params=G4:G6&G4}}   //公式渲染


回帖
  • 消灭零回复
相关代码片段