npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

pikaz-excel-js

v1.0.5

Published

A Excel Component By JavaScript

Readme

介绍

导入导出 excel 的 js 插件,在 xlsx 和 xlsx-style 的基础上做了简单的封装,开箱即用。

特性

  • 支持导出 excel 文件,并可设置列宽,边框,字体,字体颜色,字号,对齐方式,背景色等样式。
  • 支持 excel 文件导入,生成 json 数据,考虑到客户端机器性能,导入大量数据时,推荐拆分数据分成多个文件导入。

版本更新

本插件库已更新至 1.x 版本,历史版本 0.2.x 文档请看这里

  • 新版本改为纯 js 库,支持多种框架如 vue2, vue3, react 及无其他依赖的 html 中使用
  • 合并项与单元格格式中的单元格名称,现在支持传入数字,而非只能使用 excel 单元格名称,如第一行第三列,可使用 A3 或 3-1
  • 新增 esmodule 模块化,支持 vite 等使用

demo 示例点击这里体验

demo 代码点击这里一键 copy

安装

使用 npm 或 yarn

yarn add pikaz-excel-js

npm i -S pikaz-excel-js
import { excelExport, excelImport } from "pikaz-excel-js";

使用 cdn 引入

<script
  type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/pikaz-excel-js"
></script>
或者
<script type="text/javascript" src="https://unpkg.com/pikaz-excel-js"></script>
const { excelExport, excelImport } = window.pikazExcelJs;

导出函数

函数示例

import { excelExport } from "pikaz-excel-js";
excelExport({
  sheet: [
    {
      // 表格标题
      title: "水果的味道1",
      // 表头
      tHeader: ["种类", "味道"],
      // 数据键名
      keys: ["name", "taste"],
      // 表格数据
      table: [
        {
          name: "荔枝",
          taste: "甜",
        },
        {
          name: "菠萝蜜",
          taste: "甜",
        },
      ],
      sheetName: "水果的味道1",
    },
  ],
});

函数参数:

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ------------ | ----------------------------------------------------------------------------------- | ----------------------------------- | ------ | ------ | | bookType | 文件格式 | string | xlsx | xlsx | | filename | 文件名称 | string | -- | excel | | sheet | 表格数据,每个表格数据对象配置具体看下方表格配置 | object[] | -- | -- | | beforeStart | 处理数据之前的钩子,参数为导出的文件格式,文件名,表格数据,若抛出 Error 则停止导出 | function(bookType, filename, sheet) | -- | -- | | beforeExport | 导出文件之前的钩子,参数为 blob 文件流,文件格式,文件名,若抛出 Error 则停止导出 | function(blob, bookType, filename) | -- | -- | | onError | 导出失败的钩子,参数为错误信息 | function(err) | -- | -- |

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------ | ----------------------------- | | title | 表格标题,自动设置合并,非必须项 | string | -- | -- | | tHeader | 表头, 非必须项 | string[] | -- | -- | | table | 表格数据,如果无数据,设置为空字符"",避免使用 null 或 undefined | object[] | -- | -- | | merges | 合并两个单元格之间所有的单位格,支持 excel 行列格式或数字格式(如合并第一排第一列至第一排第三列为'A1: A3'或'1-1:3-1'),合并的表格单元多余数据项以空字符串填充,非必须项 | string[] | -- | -- | | keys | 数据键名,需与表头内容顺序对应 | string[] | -- | -- | | colWidth | 列宽,若不传,则列宽自适应(自动列宽时数据类型必须为 string,如有其他数据类型,请手动设置列宽) | number[] | -- | -- | | sheetName | 表格名称 | string | -- | sheet | | globalStyle | 表格全局样式,具体参数查看下方表格全局样式 | object | -- | 表格全局样式 | | cellStyle | 单元格样式,每个单元格对象配置具体参数查看下方单元格样式 | object[] | -- | -- |

其他属性与表格全局样式设置方式一致

导入函数

函数示例

import { excelImport } from "pikaz-excel-js";
excelImport().then((res) => {
  console.log(res);
});

函数参数:

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | ----------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------ | ---------- | ------ | | file | 导入的文件,若不传,则自动调起上传功能 | file | -- | null | | sheetNames | 需要导入表的表名,如['插件信息'],若不传则读取 excel 中所有表格,非必传 | string[] | -- | -- | | removeBlankspace | 是否移除数据中字符串的空格 | Boolean | true/false | false | | removeSpecialchar | 是否移除不同版本及环境下 excel 数据中出现的特殊不可见字符,如 u202D 等, 使用此功能,返回的数据将被转化为字符串 | Boolean | true/false | true | | beforeImport | 文件导入前的钩子,参数 file 为导入文件 | function(file) | -- | -- | | onProgress | 文件导入时的钩子 | function(event, file) | -- | -- | | onChange | 文件状态改变时的钩子,导入文件、导入成功和导入失败时都会被调用 | function(file) | -- | -- | | onSuccess | 文件导入成功的钩子,参数 response 为生成的 json 数据 | function(response, file) | -- | -- | | onError | 文件导入失败的钩子,参数 error 为错误信息 | function(error) | -- | -- |