printInfo.cs 4.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using OfficeOpenXml;
  4. using Spire.Xls;
  5. using System.IO;
  6. namespace WebApplication.controller
  7. {
  8. public class printInfo
  9. {
  10. public void WriteDataToExcelTemplate(string templatePath, string outputPath, string data,string name)
  11. {
  12. //WriteDataToExcelTemplate(templatePath, outputPath, data);
  13. // 加载 Excel 模板文件
  14. ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
  15. using (ExcelPackage package = new ExcelPackage(new FileInfo(templatePath)))
  16. {
  17. switch (name)
  18. {
  19. case "采购申请":
  20. ExcelWorksheet worksheetCG = package.Workbook.Worksheets[0];
  21. string nameCG = worksheetCG.ToString();
  22. if (nameCG == "采购申请")
  23. {
  24. //int colCount = worksheet.Dimension.End.Column; //get Column Count
  25. //int rowCount = worksheet.Dimension.End.Row; //get row count
  26. // 遍历数据,逐行写入到工作表中
  27. int i = 10; // 第一行是标题,从第二行开始写入数据
  28. worksheetCG.Cells["B2"].Value = "合同编号";
  29. worksheetCG.Cells["F2"].Value = "创建时间";
  30. worksheetCG.Cells["B3"].Value = "拥有者";
  31. worksheetCG.Cells["F4"].Value = "所属部门";
  32. worksheetCG.Cells["B4"].Value = "主题";
  33. worksheetCG.Cells["B5"].Value = "合同名称";
  34. worksheetCG.Cells["B6"].Value = "供应商";
  35. worksheetCG.Cells["B7"].Value = "联系人";
  36. worksheetCG.Cells["F7"].Value = "联系方式";
  37. worksheetCG.Cells["B8"].Value = "采购内容类型";
  38. worksheetCG.Cells["F8"].Value = "合同金额";
  39. //for (int row = 10; row <= data.Count; row++)
  40. //{
  41. //}
  42. worksheetCG.Cells["B11"].Value = "合同事由";
  43. worksheetCG.Cells["B12"].Value = "备注";
  44. }
  45. break;
  46. case "OA审批":
  47. JObject arrdata = JsonConvert.DeserializeObject<JObject>(data);
  48. ExcelWorksheet worksheetOA = package.Workbook.Worksheets[0];
  49. string nameOA = worksheetOA.ToString();
  50. if (nameOA == "OA审批")
  51. {
  52. worksheetOA.Cells["B2"].Value = arrdata["F0000001"].ToString(); //标题
  53. worksheetOA.Cells["F2"].Value = arrdata["F0000006"].ToString(); //创建人
  54. worksheetOA.Cells["B3"].Value = arrdata["F0000004"].ToString(); //审批单号
  55. worksheetOA.Cells["B4"].Value = arrdata["F0000007"].ToString(); //结束时间
  56. worksheetOA.Cells["F4"].Value = arrdata["F0000002"].ToString(); //发起时间
  57. worksheetOA.Cells["B5"].Value = arrdata["F0000009"].ToString(); //时长
  58. worksheetOA.Cells["B6"].Value = arrdata["F0000010"].ToString(); //同行人
  59. worksheetOA.Cells["B7"].Value = arrdata["F0000011"].ToString(); //事由
  60. worksheetOA.Cells["B8"].Value = arrdata["F0000012"].ToString(); //费用出处
  61. worksheetOA.Cells["B9"].Value = arrdata["F0000005"].ToString(); //附件
  62. worksheetOA.Cells["B10"].Value = arrdata["F0000013"].ToString(); //说明
  63. worksheetOA.Cells["B11"].Value = arrdata["F0000014"].ToString(); //审批流程
  64. }
  65. break;
  66. }
  67. //excelToPdf(new FileInfo(outputPath), outputPath)
  68. // 保存 Excel 文件
  69. package.SaveAs(new FileInfo(outputPath));
  70. }
  71. }
  72. /// <summary>
  73. /// Excel转PDF
  74. /// </summary>
  75. /// <param name="LoadFromFile">文件地址</param>
  76. /// <param name="SaveToPdf">输出文件地址</param>
  77. public void excelToPdf(string LoadFromFile, string SaveToPdf)
  78. {
  79. Workbook workbook = new Workbook();
  80. workbook.LoadFromFile(LoadFromFile);
  81. Worksheet sheet = workbook.Worksheets[0];
  82. sheet.SaveToPdf(SaveToPdf);
  83. }
  84. }
  85. }