导出excel功能开发
This commit is contained in:
@@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
<link rel="stylesheet" href="/Contents/index.css">
|
||||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
|
<script src="/Contents/vue.min.js"></script>
|
||||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
<script src="/Contents/index.js"></script>
|
||||||
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
<script src="/Contents/axios.min.js"></script>
|
||||||
<script src="http://lib.baomitu.com/qs/6.10.3/qs.min.js"></script>
|
<script src="/Contents/qs.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@@ -320,7 +320,7 @@
|
|||||||
},
|
},
|
||||||
export_excel() {
|
export_excel() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.download('/gb/yjb/api/ningbozhichun/export_excel', this.dateFormat("YYYYmmddHHMMSS", new Date()) + "-共赴宁波之春.xlsx", this.loading_false);
|
this.download('/gb/yjb/api/outsidewall/export_excel', this.dateFormat("YYYYmmddHHMMSS", new Date()) + "-问卷调查结果.xlsx", this.loading_false);
|
||||||
},
|
},
|
||||||
check_login() {
|
check_login() {
|
||||||
this.token = window.sessionStorage.getItem('__TOKEN');
|
this.token = window.sessionStorage.getItem('__TOKEN');
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
<link rel="stylesheet" href="/Contents/index.css">
|
||||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
|
<script src="/Contents/vue.min.js"></script>
|
||||||
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
<script src="/Contents/index.js"></script>
|
||||||
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
<script src="/Contents/axios.min.js"></script>
|
||||||
<script src="http://lib.baomitu.com/qs/6.10.3/qs.min.js"></script>
|
<script src="/Contents/qs.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@@ -149,7 +149,7 @@
|
|||||||
|
|
||||||
<h3 style="text-align:center;">
|
<h3 style="text-align:center;">
|
||||||
<el-button @@click="toBuildPage">查看幢统计</el-button>
|
<el-button @@click="toBuildPage">查看幢统计</el-button>
|
||||||
<el-button type="primary" @@click="export_excel" :loading="loading">导出Excel</el-button>
|
@*<el-button type="primary" @@click="export_excel" :loading="loading">导出Excel</el-button>*@
|
||||||
</h3>
|
</h3>
|
||||||
<el-image ref="myImg" class="my-img" :src="dialogImageUrl" :preview-src-list="dialogImageUrls">
|
<el-image ref="myImg" class="my-img" :src="dialogImageUrl" :preview-src-list="dialogImageUrls">
|
||||||
</el-image>
|
</el-image>
|
||||||
|
|||||||
2
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/axios.min.js
vendored
Normal file
2
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/axios.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
1
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/index.css
Normal file
1
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/index.css
Normal file
File diff suppressed because one or more lines are too long
1
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/index.js
Normal file
1
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/index.js
Normal file
File diff suppressed because one or more lines are too long
1
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/qs.min.js
vendored
Normal file
1
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/qs.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11894
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/vue.js
Normal file
11894
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/vue.js
Normal file
File diff suppressed because it is too large
Load Diff
11
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/vue.min.js
vendored
Normal file
11
20220330_Vote/Ewide.Web.Entry/wwwroot/Contents/vue.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -72,15 +72,17 @@ namespace Vote.Services.ApiController
|
|||||||
[HttpPost]
|
[HttpPost]
|
||||||
[UnitOfWork]
|
[UnitOfWork]
|
||||||
[Route("export_excel")]
|
[Route("export_excel")]
|
||||||
public async Task<dynamic> ExportExcel(NbzcGetListInput args)
|
public async Task<dynamic> ExportExcel(OutsideWallQueryInput args)
|
||||||
{
|
{
|
||||||
|
var list = await QueryBuildings(args);
|
||||||
|
|
||||||
//var list = await repoutside_wall.AsQueryable().Where(a => !a.IsDeleted).OrderByDescending(a => a.CreatedTime).ToListAsync();
|
//var list = await repoutside_wall.AsQueryable().Where(a => !a.IsDeleted).OrderByDescending(a => a.CreatedTime).ToListAsync();
|
||||||
//var filepath = Tools.ExcelHelper.WriteExcelNingBoZhiChun(list);
|
var filepath = Tools.ExcelHelper.WriteExcelOutsideWallBuilding(list);
|
||||||
//return new FileStreamResult(new FileStream(filepath, FileMode.Open), "application/octet-stream") { FileDownloadName = filepath };
|
return new FileStreamResult(new FileStream(filepath, FileMode.Open), "application/octet-stream") { FileDownloadName = filepath };
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
[HttpPost("querybuildings")]
|
[HttpPost("querybuildings")]
|
||||||
public async Task<dynamic> QueryBuildings(OutsideWallQueryInput args)
|
public async Task<List<OutsideWallBuildingsOutput>> QueryBuildings(OutsideWallQueryInput args)
|
||||||
{
|
{
|
||||||
var entity = await repoutside_wall_building.AsQueryable().LeftJoin<outside_wall>((a, b) => a.outsidewallId == b.Id)
|
var entity = await repoutside_wall_building.AsQueryable().LeftJoin<outside_wall>((a, b) => a.outsidewallId == b.Id)
|
||||||
.WhereIF(!string.IsNullOrWhiteSpace(args.communityId), (a, b) => b.communityId == args.communityId)
|
.WhereIF(!string.IsNullOrWhiteSpace(args.communityId), (a, b) => b.communityId == args.communityId)
|
||||||
|
|||||||
@@ -267,5 +267,77 @@ namespace Vote.Services.Tools
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string WriteExcelOutsideWallBuilding(List<OutsideWallBuildingsOutput> data)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string template_name = "外墙问卷调查模板.xlsx";
|
||||||
|
string excelFilePath = $"{App.WebHostEnvironment.WebRootPath}\\ExcelTemplate\\{template_name}";
|
||||||
|
string outputPath = string.Empty;
|
||||||
|
if (!string.IsNullOrEmpty(excelFilePath))
|
||||||
|
{
|
||||||
|
using (FileStream excelFileStream = System.IO.File.OpenRead(excelFilePath))
|
||||||
|
{
|
||||||
|
bool isCompatible = ExcelHelper.GetIsCompatible(excelFilePath);
|
||||||
|
IWorkbook workbook = ExcelHelper.CreateWorkbook(isCompatible, excelFileStream);
|
||||||
|
ISheet sheet = null;
|
||||||
|
sheet = workbook.GetSheetAt(0);
|
||||||
|
//从第几行开始 , 比如 行号是4 , 就写3
|
||||||
|
var startRowIndex = 1;
|
||||||
|
for (int i = 0; i < data.Count; i++)
|
||||||
|
{
|
||||||
|
var c_rowindex = startRowIndex + i;
|
||||||
|
var row = sheet.CreateRow(c_rowindex);
|
||||||
|
int cell_start_index = 0;
|
||||||
|
row.CreateCell(cell_start_index).SetCellValue(data[i].submitCode);
|
||||||
|
row.CreateCell(cell_start_index + 1).SetCellValue(data[i].communityName);
|
||||||
|
row.CreateCell(cell_start_index + 2).SetCellValue(data[i].createtime.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
row.CreateCell(cell_start_index + 3).SetCellValue(data[i].BuildingName);
|
||||||
|
row.CreateCell(cell_start_index + 4).SetCellValue(data[i].Address);
|
||||||
|
row.CreateCell(cell_start_index + 5).SetCellValue(data[i].LevelCount?.ToString());
|
||||||
|
row.CreateCell(cell_start_index + 6).SetCellValue(data[i].Households?.ToString());
|
||||||
|
row.CreateCell(cell_start_index + 7).SetCellValue(data[i].BuildingUnit);
|
||||||
|
row.CreateCell(cell_start_index + 8).SetCellValue(data[i].DesingerUnit);
|
||||||
|
row.CreateCell(cell_start_index + 9).SetCellValue(data[i].ConstructionUnit);
|
||||||
|
row.CreateCell(cell_start_index + 10).SetCellValue(data[i].MonitorUnit);
|
||||||
|
row.CreateCell(cell_start_index + 11).SetCellValue(data[i].WuYeUnit);
|
||||||
|
row.CreateCell(cell_start_index + 12).SetCellValue(data[i].curwallproblems);
|
||||||
|
row.CreateCell(cell_start_index + 13).SetCellValue(data[i].curwallproblemother);
|
||||||
|
row.CreateCell(cell_start_index + 14).SetCellValue(data[i].wallproblemsfirst);
|
||||||
|
row.CreateCell(cell_start_index + 15).SetCellValue(data[i].firstproblemdate);
|
||||||
|
row.CreateCell(cell_start_index + 16).SetCellValue(data[i].problemfrequency);
|
||||||
|
row.CreateCell(cell_start_index + 17).SetCellValue(data[i].problemseason);
|
||||||
|
row.CreateCell(cell_start_index + 18).SetCellValue(data[i].wallproblemtoward);
|
||||||
|
row.CreateCell(cell_start_index + 19).SetCellValue(data[i].problemfanwei);
|
||||||
|
row.CreateCell(cell_start_index + 20).SetCellValue(data[i].problemheight);
|
||||||
|
row.CreateCell(cell_start_index + 21).SetCellValue(data[i].diaoluowu);
|
||||||
|
}
|
||||||
|
var file = new FileInfo(excelFilePath);
|
||||||
|
var savePath = file.DirectoryName + "\\OutPut\\";
|
||||||
|
if (!Directory.Exists(savePath))
|
||||||
|
Directory.CreateDirectory(savePath);
|
||||||
|
outputPath = savePath + DateTime.Now.ToString("yyyyMMddHHmmsss") + "-" + template_name;
|
||||||
|
using (var filess = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.Read))
|
||||||
|
{
|
||||||
|
workbook.Write(filess);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return outputPath;
|
||||||
|
}
|
||||||
|
catch (System.IO.IOException ioex)
|
||||||
|
{
|
||||||
|
throw Oops.Oh("文件被占用,请检查文件模板");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
<param name="_repoutside_wall_photo"></param>
|
<param name="_repoutside_wall_photo"></param>
|
||||||
<param name="memoryCache"></param>
|
<param name="memoryCache"></param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:Vote.Services.ApiController.OutsideWallService.ExportExcel(Vote.Services.Dto.NbzcGetListInput)">
|
<member name="M:Vote.Services.ApiController.OutsideWallService.ExportExcel(Vote.Services.Dto.OutsideWallQueryInput)">
|
||||||
<summary>
|
<summary>
|
||||||
导出Excel
|
导出Excel
|
||||||
</summary>
|
</summary>
|
||||||
@@ -979,6 +979,12 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Vote.Services.Tools.ExcelHelper.WriteExcelOutsideWallBuilding(System.Collections.Generic.List{Vote.Services.Dto.OutsideWallBuildingsOutput})">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:Vote.Services.Tools.HtmlHelper.GetHtmlSource2(System.String)">
|
<member name="M:Vote.Services.Tools.HtmlHelper.GetHtmlSource2(System.String)">
|
||||||
<summary>方法一:比较推荐
|
<summary>方法一:比较推荐
|
||||||
用HttpWebRequest取得网页源码
|
用HttpWebRequest取得网页源码
|
||||||
|
|||||||
Reference in New Issue
Block a user