MCPcopy Create free account
hub / github.com/QuarkGluonPlasma/react-course-code / main

Function main

excel-export/index2.js:6–53  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4const languages = ['zh-CN', 'en-US'];
5
6async function main(){
7 const workbook = new Workbook();
8
9 const worksheet = workbook.addWorksheet('test');
10
11 const bundleData = languages.map(item => {
12 return JSON.parse(fs.readFileSync(`./${item}.json`));
13 })
14
15 const data = [];
16
17 const messages = JSON.parse(fs.readFileSync('./messages.json'));
18
19 bundleData.forEach((item, index) => {
20 for(let key in messages) {
21 const foundItem = data.find(item => item.id === key);
22 if(foundItem) {
23 foundItem[languages[index]] = item[key]
24 } else {
25 data.push({
26 id: key,
27 defaultMessage: messages[key].defaultMessage,
28 description: messages[key].description,
29 [languages[index]]: item[key]
30 })
31 }
32 }
33 })
34
35 console.log(data);
36
37 worksheet.columns = [
38 { header: 'ID', key: 'id', width: 30 },
39 { header: 'defaultMessage', key: 'defaultMessage', width: 30 },
40 { header: 'description', key: 'description', width: 50 },
41 ...languages.map(item => {
42 return {
43 header: item,
44 key: item,
45 width: 30
46 }
47 })
48 ];
49
50 worksheet.addRows(data);
51
52 workbook.xlsx.writeFile('./bundle.xlsx');
53}
54
55main();

Callers 1

index2.jsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected