Skip to content

Commit aae5c00

Browse files
committed
excel write
1 parent 5300a99 commit aae5c00

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

excel/add_to_sheet.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const xlsx = require('xlsx');
2+
3+
function range_add_cell(range, cell) {
4+
var rng = xlsx.utils.decode_range(range);
5+
var c = typeof cell === 'string' ? xlsx.utils.decode_cell(cell) : cell;
6+
if (rng.s.r > c.r) rng.s.r = c.r;
7+
if (rng.s.c > c.c) rng.s.c = c.c;
8+
9+
if (rng.e.r < c.r) rng.e.r = c.r;
10+
if (rng.e.c < c.c) rng.e.c = c.c;
11+
return xlsx.utils.encode_range(rng);
12+
}
13+
14+
module.exports = function add_to_sheet(sheet, cell, type, raw) {
15+
sheet['!ref'] = range_add_cell(sheet['!ref'], cell);
16+
sheet[cell] = { t: type, v: raw };
17+
};

excel/excelParser.js

+7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
const xlsx = require('xlsx');
22
const axios = require('axios');
33
const cheerio = require('cheerio');
4+
const add_to_sheet = require('./add_to_sheet');
45

56
const workbook = xlsx.readFile('./data.xlsx');
67

8+
console.log(workbook.SheetNames);
79
const ws = workbook.Sheets.영화목록;
810

911
const records = xlsx.utils.sheet_to_json(ws);
@@ -13,16 +15,21 @@ for(const [i, r] of records.entries()) {
1315
}
1416

1517
const crawler = async () => {
18+
add_to_sheet(ws, 'C1', 's', '평점');
1619
for (const [i, r] of records.entries()) {
1720
const response = await axios.get(r.링크);
1821
if (response.status === 200) {
1922
const html = response.data;
2023
const $ = cheerio.load(html);
2124
const text = $('.score.score_left .star_score').text();
2225
console.log(r.제목, '평점', text.trim());
26+
const newCell = 'C' + (i +2 );
27+
add_to_sheet(ws, newCell, 'n', parseFloat(text.trim()));
2328
}
2429
}
30+
xlsx.writeFile(workbook, './result.xlsx');
2531
};
32+
//순서 보장
2633

2734
// const crawler = async () => {
2835
// await Promise.all(records.map( async (r) => {

excel/result.xlsx

17.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)