Browse Source

本地js文件转为excel

TonyKang 3 năm trước cách đây
mục cha
commit
b34d9aacde
2 tập tin đã thay đổi với 26 bổ sung0 xóa
  1. 21 0
      app/controller/report_controller.js
  2. 5 0
      app/router.js

+ 21 - 0
app/controller/report_controller.js

@@ -572,6 +572,27 @@ module.exports = app => {
             ctx.status = 201;
         }
 
+        async createExcelFilesFromLocal(ctx) {
+            const baseDir = this.app.baseDir;
+            function getExcelByPageData(pageRst, rpt_name, innerRoleRel) {
+                return new Promise(function(resolve, reject) {
+                    rpt_xl_util.exportExcel(pageRst, 'A4', rpt_name, true, null, null, baseDir, innerRoleRel,
+                        (err, uuidName) => {
+                            if (err) return reject(err);
+                            const fileRst = { uuid: uuidName, reportName: rpt_name.replace(new RegExp('%', 'gm'), '_') };
+                            resolve(fileRst);
+                        }
+                    );
+                });
+            }
+            const pageRst = JSON.parse(fs.readFileSync('D:/GitHome/temp/计量excel原始数据_A3BZ6_5384_112表(清单).js', 'utf-8'));
+            const runnableRst = [];
+            runnableRst.push(getExcelByPageData(pageRst, '工程计量表(计量单元-清单)', null));
+            const uuidRst = await Promise.all(runnableRst);
+            ctx.body = { data: uuidRst, waterMarkStr: null };
+            ctx.status = 201;
+        }
+
         async createExcelFilesInOneBookEx(ctx) {
             const params = JSON.parse(ctx.request.body.params);
             const baseDir = this.app.baseDir;

+ 5 - 0
app/router.js

@@ -320,10 +320,15 @@ module.exports = app => {
     app.get('/printReport/:size', sessionAuth, 'reportController.showPrintPage');
     app.post('/tender/report_api/getReport', sessionAuth, 'reportController.getReport');
     app.post('/tender/report_api/getMultiReports', sessionAuth, 'reportController.getMultiReportsEx');
+
     app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesEx');
     app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesInOneBookEx');
+    // app.post('/tender/report_api/createExcelFiles', sessionAuth, 'reportController.createExcelFilesFromLocal');
+    // app.post('/tender/report_api/createExcelFilesInOneBook', sessionAuth, 'reportController.createExcelFilesFromLocal');
+
     app.get('/getFileByUUID/:uuid/:rptName/:suffix', sessionAuth, 'reportController.getFileByUUID');
     // rptRouter.get('/getFileByUUID/:uuid/:rptName/:suffix', reportController.getFileByUUID);
+
     app.post('/tender/report_api/createSignatureRole', sessionAuth, 'signatureController.createSignatureRole');
     app.post('/tender/report_api/updateSignatureUsed', sessionAuth, datetimeFill, 'signatureController.updateSignatureUsed');
     app.post('/tender/report_api/updateRoleRelationship', sessionAuth, 'signatureController.updateRoleRel');