将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}} //公式渲染