Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
aic_duty_strategy
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
yinxiaoling
aic_duty_strategy
Commits
fff8fede
Commit
fff8fede
authored
May 20, 2020
by
yinxiaoling
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
excel下载模板替换
parent
0824a700
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
2 deletions
+61
-2
StrategySetController.php
app/Http/Controllers/strategy/StrategySetController.php
+4
-1
StrategyService.php
app/Service/StrategyService.php
+57
-1
No files found.
app/Http/Controllers/strategy/StrategySetController.php
View file @
fff8fede
...
...
@@ -149,7 +149,10 @@ class StrategySetController extends Controller
$datas
[
0
][
0
]
=
"姓名"
;
$datas
[
0
][
1
]
=
"*手机号码"
;
$datas
[
0
][
2
]
=
"值班日期"
;
$StrategyService
->
storeExcelStyle
(
$excelName
,
$datas
,
3
,
''
,
1
);
$datas
[
1
]
=
[
'小a'
,
13112345678
,
'2020/5/20'
];
//$StrategyService->storeExcelStyle($excelName, $datas,3,'',1);
$StrategyService
->
exportPHPExcel
(
$excelName
,
$datas
);
}
public
function
downloadFailExcel
(
Request
$request
){
...
...
app/Service/StrategyService.php
View file @
fff8fede
...
...
@@ -147,7 +147,6 @@ class StrategyService
$objRichText
->
createText
(
ltrim
(
$datas
[
0
][
$k
],
'*'
));
$sheet
->
setCellValue
(
$arr
[
$k
]
.
'1'
,
$objRichText
);
}
}
});
...
...
@@ -181,6 +180,63 @@ class StrategyService
}
}
//保存内容到excel文件,第一行*号红色,$firstRed为1则处理第一行红色*号,0不处理*
public
function
exportPHPExcel
(
$excelName
,
$datas
,
$firstRed
=
1
){
try
{
$datas0
=
$datas
[
0
];
$objPHPExcel
=
new
\PHPExcel
();
$objPHPExcel
->
setActiveSheetIndex
(
0
);
//$objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(\PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$capitalArr
=
range
(
'A'
,
'Z'
);
if
(
count
(
$datas0
)
>
0
&&
$firstRed
==
1
){
foreach
(
$datas0
as
$key
=>
$value
){
$objRichText
=
new
\PHPExcel_RichText
();
if
(
strpos
(
$value
,
'*'
)
===
0
){
$objPayable
=
$objRichText
->
createTextRun
(
'*'
);
$objPayable
->
getFont
()
->
setColor
(
new
\PHPExcel_Style_Color
(
\PHPExcel_Style_Color
::
COLOR_RED
)
);
//设置颜色
}
$objRichText
->
createText
(
ltrim
(
$value
,
'*'
));
$sheet
=
$key
<
26
?
$capitalArr
[
$key
]
:
'A'
.
$capitalArr
[
$key
-
25
];
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
$sheet
.
'1'
,
$objRichText
);
$objPHPExcel
->
getActiveSheet
()
->
getColumnDimension
(
$sheet
)
->
setWidth
(
12
);
}
}
foreach
(
$datas
as
$kdata
=>
$vdata
){
if
(
$kdata
>=
$firstRed
){
foreach
(
$vdata
as
$key
=>
$value
){
$sheet
=
$key
<
26
?
$capitalArr
[
$key
]
:
'A'
.
$capitalArr
[
$key
-
25
];
if
(
$key
==
0
){
//第一列
$objPHPExcel
->
getActiveSheet
()
->
setCellValueExplicit
(
$sheet
.
(
$kdata
+
1
),
$value
,
\PHPExcel_Cell_DataType
::
TYPE_STRING
);
}
elseif
(
$key
==
1
){
//第二列
$objPHPExcel
->
getActiveSheet
()
->
setCellValueExplicit
(
$sheet
.
(
$kdata
+
1
),
$value
,
\PHPExcel_Cell_DataType
::
TYPE_NUMERIC
);
}
else
{
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
$sheet
.
(
$kdata
+
1
),
$value
);
}
}
}
}
//$PHPWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
//header('Content-Type: application/vnd.ms-excel; charset=utf-8');
//header('Content-Disposition: attachment;filename="'.$excelName.'.xls"');
$PHPWriter
=
\PHPExcel_IOFactory
::
createWriter
(
$objPHPExcel
,
'Excel2007'
);
ob_end_clean
();
header
(
'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
);
header
(
'Content-Disposition: attachment;filename="'
.
$excelName
.
'.xlsx"'
);
header
(
'Cache-Control: max-age=0'
);
//禁止缓存
$PHPWriter
->
save
(
"php://output"
);
exit
;
}
catch
(
\Exception
$e
){
Log
::
channel
(
'api'
)
->
info
(
'下载失败:'
.
$e
->
getFile
()
.
'-'
.
$e
->
getLine
()
.
'-'
.
$e
->
getMessage
());
return
false
;
}
}
//添加策略处理excel数据入库
public
function
insertStrategyExcel
(
$strategySn
,
$data
){
if
(
count
(
$data
)
>
0
){
...
...
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