Merge remote-tracking branch 'origin/iipbs/wr/form_fuction' into iipbs/wr/dev
iipbs_wr / build (push) Waiting to run

This commit is contained in:
truthwing
2025-04-24 14:57:05 +09:00
@@ -1,16 +1,44 @@
import * as XLSX from 'xlsx';
type ExcelDownloadProps = {
data : JSON | JSON[];
fileName : string;
sheetNameArray : string[];
data: JSON | JSON[];
fileName: string;
sheetNameArray: string[];
}
export const downloadExcel = ({ data, fileName = new Date().getTime().toString()+'.xlsx', sheetNameArray = ["Sheet1"] }: ExcelDownloadProps) => {
const worksheet = XLSX.utils.json_to_sheet(Array.isArray(data) ? data : [data]);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, sheetNameArray[0]);
//let buffer = XLSX.write(workbook, { bookType: "xlsx", type: "buffer" });
//XLSX.write(workbook, { bookType: "xlsx", type: "binary" });
XLSX.writeFile(workbook, fileName+'.xlsx');
};
export const downloadExcel = ({ data, fileName = new Date().getTime().toString() + '.xlsx', sheetNameArray = ["Sheet1"] }: ExcelDownloadProps) => {
const worksheet = XLSX.utils.json_to_sheet(Array.isArray(data) ? data : [data]);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, sheetNameArray[0]);
//let buffer = XLSX.write(workbook, { bookType: "xlsx", type: "buffer" });
//XLSX.write(workbook, { bookType: "xlsx", type: "binary" });
XLSX.writeFile(workbook, fileName + '.xlsx');
};
export const filePicked=(oFile: File) =>{
// Create A File Reader HTML5
const reader = new FileReader();
// Ready The Event For When A File Gets Selected
reader.onload = function (e) {
const data = e.target?.result;
if (!data) {
console.error("Failed to read file: e.target.result is null");
return;
}
const wb = XLSX.read(data, { type: 'binary' });
// Loop Over Each Sheet
wb.SheetNames.forEach(function (sheetName) {
// Obtain The Current Row As CSV
const sheet = wb.Sheets[sheetName];
if (sheet) {
const jsonXls = XLSX.utils.sheet_to_json(sheet);
console.log(jsonXls);
} else {
console.error(`Sheet "${sheetName}" is undefined.`);
}
});
};
// Tell JS To Start Reading The File.. You could delay this if desired
reader.readAsBinaryString(oFile);
}