我在我的React应用程序中使用一个现有的* .xlsx文件,并将其与sheet.js/xlsx.js解析为一个JS对象。
直到现在我会:
// getTemplateWorkbook.js*
import XLSX from '@sheet/core'
async function getTemplateWorkbook(uri): Promise<XLSX.WorkBook> {
const req = new XMLHttpRequest();
req.open("GET", uri, true);
req.responseType = "arraybuffer";
return new Promise((resolve, reject) => {
req.onload = () => {
const data = new Uint8Array(req.response);
const workbook = XLSX.read(data, {type:"array", cellStyles: true });
resolve(workbook)
}
req.onerror = error => console.log(`Error getting XLSX template`, error);
req.send();
})
};
我要:
原始文件看起来像这样(缩短):
PK ! ??? - [Content_Types].xml ¢( E?1?÷?¾?q¢.J)?.l»*Pû iru??$?o???A?&¹?$g0ZW&[A@?zy?e`¥S?ö9}?£°Jg¡`@6?¦?Qµl?1úG??P ?K+3*i?¹s?÷?Kg#??µ?`&?&f?ú½% `e??`»£¥?D?Výr?rªL{°?????»ºwjM?²???Á?»°ørn??9A?-A9¹¬¨9ú Ba +?§1¯?¶{?i3??©??/?? V?Wm?gmw?¡9???"?b?À¶?mr.E õn??R9.????z??¼¸`?_uuU?¨?§???õ??¨??ý??ÿÿ PK ! µU0#??L _rels/.rels ¢( ¬?MO?????BKwAH»!T~?I?µ£$?'T?G½~ü???ö??;#¶w??úqu*&r?Fq¬?v???GJy(v½*«¸¨¡K?#F?D±?W ¥?=?Z?Y?ø®?S?°·7 ???¦??9L??bg?|?!õùUSh9i°b?r:"y_dlÀ??ý|-N??"4ø2?g õZ´4??k ??¨? ÿÿ PK ! ?5? ù xl/workbook.xml¬Umo?þ> ÿA
tû H?%Rb¶eoº!Hº?E[\$R%©??¾#?(??Mùø???o??©??®C99?û÷û©?¥1?)8?T¹o¯~ºX y'L \õ??}E
Zau&j?e!d?5?r?R?«?R]?~?_a?!???#4¤©(??¤%?_¬V[´?<®²¾©="ª ????¤³%??OZ·
`·7Á?U#R(±? ?OüG??1xR?ÀLw¬d??+?¡OH?%??-??l?????\?L?®Sb¥'9??`???W²©G
+a5D½ ¹þ`'??j*9?,¸©m¨ÿ¨¬,ö¸ b?j?¤P; !pFLR|§.±.?F?}w??)þ¥D«ùõm?3®%??-¹|®$??0ºR??I?Á8?rH?h¸?z?KZ H<?¬º:6?ývj~ m|ZG?nLLl}?g?ÿ??
到目前为止,我试图复制XMLHttpRequest行为没有成功。
jszip.js:274 Uncaught Error: End of data reached (data length = 53048, asked index = 82673). Corrupted zip ?
如何复制XMLHttpRequest行为?