|
@@ -3,13 +3,13 @@ import Excel from 'exceljs'
|
|
|
let getBuffer = function(){
|
|
|
return new Promise((resolve,reject)=>{
|
|
|
const x = new XMLHttpRequest();
|
|
|
- x.open("GET", 'file/附件 5 :学校创客专项资金使用申请表.xlsx', true);
|
|
|
+ x.open("GET", 'file/附件 5 :学校创客专项资金使用申请表.xlsx', true); //file/附件 5 :学校创客专项资金使用申请表.xlsx文件本地地址
|
|
|
x.responseType = "blob"; //
|
|
|
x.send()
|
|
|
x.onreadystatechange = function(){
|
|
|
if(x.readyState==4 && x.status==200){
|
|
|
- let reader = new FileReader();
|
|
|
- console.log(x.response);
|
|
|
+ let reader = new FileReader(); //异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,
|
|
|
+ // console.log(x.response);
|
|
|
reader.readAsArrayBuffer(x.response) //读取返回回来的文件内容
|
|
|
reader.onload = function(){ //当读取操作成功完成时调用
|
|
|
console.log(reader);
|
|
@@ -27,7 +27,7 @@ export default async function getExcel(data){ //async 申明 function 是异
|
|
|
// console.log(data);
|
|
|
const content = await getBuffer(); //等待getBuffer函数执行完成
|
|
|
const workbook = new Excel.Workbook();
|
|
|
- await workbook.xlsx.load(content); //从 buffer 加载
|
|
|
+ await workbook.xlsx.load(content); //从 buffer 加载(先读取文件后面才能继续执行)
|
|
|
//获取第一个worksheet
|
|
|
let worksheet = workbook.getWorksheet(1);
|
|
|
|
|
@@ -38,7 +38,7 @@ export default async function getExcel(data){ //async 申明 function 是异
|
|
|
worksheet.getCell('G3').value=`项目名称:${data.PName}`;
|
|
|
//备注
|
|
|
worksheet.getCell("G18").value=data.remarks;
|
|
|
-
|
|
|
+ worksheet.getCell('G18').alignment = { vertical: 'top', horizontal: 'left' };
|
|
|
// let direct = 7;
|
|
|
|
|
|
//直接经费预算 从C7====>C11
|
|
@@ -257,6 +257,7 @@ export default async function getExcel(data){ //async 申明 function 是异
|
|
|
|
|
|
//下载excel文件
|
|
|
let blob = new Blob([await workbook.xlsx.writeBuffer()], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});
|
|
|
+ //await workbook.xlsx.writeBuffer() 等待写入缓冲
|
|
|
let url = window.URL.createObjectURL(blob); // 字符内容转变成blob地址
|
|
|
const link = document.createElement('a');
|
|
|
link.style.display = 'none';
|