明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zengfanpei
jt_backend
Commits
f8cea7e0
Commit
f8cea7e0
authored
Mar 10, 2026
by
zfp1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
71fa35ab
Pipeline
#108166
passed with stage
in 3 seconds
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
1 deletion
+19
-1
templateController.js
controller/templateController.js
+18
-0
tempRouter.js
router/tempRouter.js
+1
-1
No files found.
controller/templateController.js
View file @
f8cea7e0
...
@@ -19,6 +19,7 @@ const keyName = {
...
@@ -19,6 +19,7 @@ const keyName = {
}
}
async
function
getXmtzzjllTem
({
startYear
,
endYear
,
tampName
,
projectId
})
{
async
function
getXmtzzjllTem
({
startYear
,
endYear
,
tampName
,
projectId
})
{
console
.
log
(
tampName
,
"==============================="
)
const
workbook
=
new
ExcelJS
.
Workbook
();
const
workbook
=
new
ExcelJS
.
Workbook
();
// 1. 读取空模板文件
// 1. 读取空模板文件
const
inputFilePath
=
path
.
join
(
__dirname
,
`../public/template/
${
keyName
[
tampName
]}
.xlsx`
);
const
inputFilePath
=
path
.
join
(
__dirname
,
`../public/template/
${
keyName
[
tampName
]}
.xlsx`
);
...
@@ -127,6 +128,22 @@ async function getXmtzzjllTem({ startYear, endYear, tampName, projectId }) {
...
@@ -127,6 +128,22 @@ async function getXmtzzjllTem({ startYear, endYear, tampName, projectId }) {
}
}
async
function
getExcelTemplate
(
req
,
res
,
next
)
{
async
function
getExcelTemplate
(
req
,
res
,
next
)
{
try
{
let
{
tampName
,
projectId
,
startYear
,
endYear
}
=
req
.
body
;
startYear
=
Number
(
startYear
)
||
new
Date
().
getFullYear
();
endYear
=
endYear
||
Number
(
startYear
+
33
);
let
buffer
=
await
getXmtzzjllTem
({
startYear
,
endYear
,
tampName
,
projectId
});
// 3. 将处理后的文件发送给前端
res
.
setHeader
(
'Content-Type'
,
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
);
res
.
setHeader
(
'Content-Disposition'
,
'attachment; filename='
+
encodeURIComponent
(
`
${
keyName
[
tampName
]}
.xlsx`
));
// 发送文件并结束响应
res
.
end
(
buffer
);
}
catch
(
error
)
{
next
(
error
);
}
}
async
function
getExcelTemplate2
(
req
,
res
,
next
)
{
try
{
try
{
let
{
tampName
,
projectId
,
startYear
,
endYear
}
=
req
.
query
;
let
{
tampName
,
projectId
,
startYear
,
endYear
}
=
req
.
query
;
startYear
=
Number
(
startYear
)
||
new
Date
().
getFullYear
();
startYear
=
Number
(
startYear
)
||
new
Date
().
getFullYear
();
...
@@ -322,4 +339,5 @@ async function importExcelTempData2(req, res, next) {
...
@@ -322,4 +339,5 @@ async function importExcelTempData2(req, res, next) {
module
.
exports
=
{
module
.
exports
=
{
getExcelTemplate
,
getExcelTemplate
,
importExcelTempData
,
importExcelTempData
,
getExcelTemplate2
,
}
}
\ No newline at end of file
router/tempRouter.js
View file @
f8cea7e0
...
@@ -13,7 +13,7 @@ const templateController = require('../controller/templateController');
...
@@ -13,7 +13,7 @@ const templateController = require('../controller/templateController');
* 获取项目相关excel 模板下载
* 获取项目相关excel 模板下载
*/
*/
router
.
post
(
'/getExcelTemplate'
,
templateController
.
getExcelTemplate
);
router
.
post
(
'/getExcelTemplate'
,
templateController
.
getExcelTemplate
);
router
.
get
(
'/getExcelTemplate
'
,
templateController
.
getExcelTemplate
);
router
.
get
(
'/getExcelTemplate
2'
,
templateController
.
getExcelTemplate2
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment