标签归档:nodejs

使用 Sheetjs 将 JSON Array 转化为 Excel

使用 Sheetjs 将 JSON Array 转化为 Excel

使用 node-excel-stream 来按行处理 Excel 数据 中,我提到,如果你希望简单的完成 Excel 的读取和处理,那么 node-excel-stream 是个不错的选择。而反过来,如果你希望将 JSON Array 导出为 Excel,那么 Sheetjs 是个不错的选择。

注意

Sheetjs 和 exceljs 不同,区分了商业版和社区版。我们这里使用的是社区版 Sheetjs CE

用法

使用 Sheetjs 对数据进行导出时,你只需要调用 XLSX 方法当中的 json_to_sheet ,就可以将你的 JSON Array 变为一个 worksheet,接下来只需要将其放入一个新的 workbook 当中,并导出为文件,就可以完成 JS 数据导出为 Excel。

const XLSX = require("xlsx");

const data = [
  {
    ...
  },
  ...
]

const worksheet = XLSX.utils.json_to_sheet(data);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "sheetNameIsFirst");
XLSX.writeFile(workbook, "output.xlsx");

使用Prettier、Husky 和 lint-staged 进行 Commit 前处理

在编写代码时,如果你的代码中配置了 ESLint, 而你自己没有运行 ESLint ,可能会导致你的 CI build 失败。因此,在 Commit 前加入格式的修正是很有必要的。

在这篇文章中,我将向你分享,如何使用 Prettier、Husky、Lint-staged 对项目进行 commit 前的格式修复,以及如何配合 Sublime Text 使用。

1. 全局安装 Prettier

想要使用 Prettier 进行格式修复,首先,你需要安装 Prettier ,在命令行中执行如下命令:

npm install --global prettier

2. 在 Sublime Text 中安装 JSPrettier

然后,在 Sublime Text 中使用 Package Control 来安装拓展 JSPrettier

在 Sublime Text 中唤起 Package Control ,执行 Install Pacakge ,并安装其中的 JsPrettier

3. 在项目根目录中添加 Prettier 的配置文件

你可以在项目的根目录下创建一个 .prettierrc 的文件,然后在其中加入配置项目,具体的配置项目可以参考官方的 Options 页面

比如,如下是我的配置文件

{
  "singleQuote": true,
  "semi": false,
  "tabWidth": 2
}

Options 页面地址:https://prettier.io/docs/en/options.html

4. 使用 Sublime 进行格式修正

当你配置好了配置文件以后,打开 Sublime Text,找到一个 JS 文件,并打开,这时,在代码中点击右键,可以看到一个 JSPrettier Format Code ,点击这一项,就可以自动根据你所创建的配置文件,进行界面的修正了。

5. 安装 Husky 和 Lint-staged 配置 Pre-commit 检查

接下来,我们来配置 Precommit 的检查

首先,你需要安装 Husky

cnpm install lint-staged husky --dev --save

安装完成后,修改你的 packages.json 文件,在其中添加如下代码

  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,json,wpy}": ["prettier --write", "git add"]
  }

然后保存。这样,就完成了 precommit 的格式检查了。

6. 测试 commit

接下来,你可以随便修改一个文件,然后执行 git commit操作,你可以看到其会输出如下的内容

可以看到进入 husky 执行 precommit 的修复

参考链接:https://prettier.io/docs/en/precommit.html

快速清空腾讯云Cos对象存储内部文件的代码

快速清空腾讯云Cos对象存储内部文件的代码

这段代码杀伤力巨大,会删除所有文件,请谨慎使用!

快速清空 Cos 文件的代码


var COS = require('cos-nodejs-sdk-v5');
var params = {
    AppId: 'appid',
    SecretId: 'SecretId',
    SecretKey: 'SecretKey'
};
var cos = new COS(params);
var params2 = {
    Bucket: 'bucket',        /* 必须 */
    Region: 'ap-shanghai',        /* 必须 */
};
cos.getBucket(params2, function (err, data) {
    if (err) {
        console.log(err);
    } else {
        data.Contents.forEach(function (e) {
            var deleteParams = {
                Bucket: 'bucket',                        /* 必须 */
                Region: 'ap-shanghai',                        /* 必须 */
                Key: e.Key                            /* 必须 */
            };
            cos.deleteObject(deleteParams, function (err, data) {
                if (err) {
                    console.log(err);
                } else {
                    console.log(data);
                }
            });
        }, this);
    }
});

 
使用方法:

  1. 首先引入 cos sdk npm i cos-nodejs-sdk-v5 --save,
  2. 修改上述代码的 4-6,12-13,23-24行处的配置,并保存为index.js
  3. 执行 node index.js 即可

 
阿里云怎么办?可以直接下载官方放出的管理工具—> Windows && macOS