{"_id":"@applead/luckyexcel","_rev":"3-0fc6a7b2abb5934f266dcce33e909245","name":"@applead/luckyexcel","dist-tags":{"latest":"1.2.1"},"versions":{"1.1.6":{"name":"@applead/luckyexcel","version":"1.1.6","keywords":["Luckysheet","excel"],"author":{"name":"applead"},"license":"MIT","_id":"@applead/luckyexcel@1.1.6","maintainers":[{"name":"applead","email":"mustafamansoor@applead.co"}],"homepage":"https://github.com/zwight/Luckyexcel","bugs":{"url":"https://github.com/zwight/Luckyexcel/issues"},"dist":{"shasum":"6dc377946c37bb80c73cf9d7fa40cd557dcd548a","tarball":"https://registry.npmjs.org/@applead/luckyexcel/-/luckyexcel-1.1.6.tgz","fileCount":43,"integrity":"sha512-OX3BDJU2vX41NQNTHg6sQrXMJq/APj5InXXn9j2o+cnqi8yU4t1OLFUd7MHUsOs3c+lHDf4vA00dGPlYr3FFCw==","signatures":[{"sig":"MEUCIQDD2+9NUbxMdtRXBW5WhjaTh9yD555r/ZS43sWhglH/VAIgeQuzIuGBfgmPxFisMRa5g918thj/qR4SeG4MrE9LiKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1549056},"main":"dist/luckyexcel.cjs.js","types":"dist/main.esm.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/luckyexcel.esm.js","browser":"dist/luckyexcel.umd.js","exports":{".":{"import":{"types":"./dist/main.esm.d.ts","default":"./dist/luckyexcel.esm.js"},"require":{"types":"./dist/main.umd.d.ts","default":"./dist/luckyexcel.cjs.js"}}},"gitHead":"68cf168f602983c371f413fa07da3931457d3386","scripts":{"dev":"gulp dev","build":"gulp build","prepack":"npm run build","release":"release-it","release:beta":"release-it --preRelease=beta"},"typings":"dist/main.esm.d.ts","_npmUser":{"name":"applead","email":"mustafamansoor@applead.co"},"browserify":{"transform":["browserify-shim"]},"repository":{"url":"git+https://github.com/zwight/Luckyexcel.git","type":"git"},"_npmVersion":"11.11.0","description":"An excel import and export library adapted to Luckysheet","directories":{},"_nodeVersion":"25.8.1","dependencies":{"dayjs":"^1.10.6","nanoid":"^3.3.7","xml2js":"^0.6.2","papaparse":"^5.5.2","@univerjs/core":"^0.6.0","@zwight/exceljs":"4.4.2","@progress/jszip-esm":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"browserify-shim":{"@univerjs/core":"global:UniverCore"},"devDependencies":{"gulp":"^5.0.0","husk":"^0.5.3","tsify":"^5.0.4","tslib":"^2.0.3","delete":"^1.1.0","rollup":"^2.33.1","babelify":"^10.0.0","watchify":"^3.11.1","fancy-log":"^1.3.3","gulp-util":"^3.0.8","browserify":"^17.0.1","release-it":"16.2.1","typescript":"~5.3.0","@babel/core":"^7.10.5","@types/node":"^22.10.2","gulp-uglify":"^3.0.2","browser-sync":"^3.0.3","vinyl-buffer":"^1.0.1","@types/xml2js":"^0.4.14","@commitlint/cli":"^19.8.0","browserify-shim":"^3.8.16","gulp-sourcemaps":"^2.6.5","gulp-typescript":"^6.0.0-alpha.1","@types/papaparse":"^5.3.15","@babel/preset-env":"^7.26.0","vinyl-source-stream":"^2.0.0","rollup-plugin-terser":"^7.0.2","@babel/preset-typescript":"^7.26.0","@rollup/plugin-typescript":"^6.1.0","cz-conventional-changelog":"^3.3.0","rollup-plugin-typescript2":"^0.29.0","@commitlint/config-conventional":"^19.8.0","@release-it/conventional-changelog":"7.0.2"},"_npmOperationalInternal":{"tmp":"tmp/luckyexcel_1.1.6_1773727804407_0.9452162733801373","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@applead/luckyexcel","version":"1.2.0","keywords":["Luckysheet","excel"],"author":{"name":"applead"},"license":"MIT","_id":"@applead/luckyexcel@1.2.0","maintainers":[{"name":"applead","email":"mustafamansoor@applead.co"}],"homepage":"https://github.com/zwight/Luckyexcel","bugs":{"url":"https://github.com/zwight/Luckyexcel/issues"},"dist":{"shasum":"9663475dcc332e2b2f571e1d65ec217f4fe1763b","tarball":"https://registry.npmjs.org/@applead/luckyexcel/-/luckyexcel-1.2.0.tgz","fileCount":51,"integrity":"sha512-o5guuvv/CNVoG5Jg6slnGnU47TxyFogHic7PQk1VMgGXWsSFPPtYiz57V/HOH/td1lc1rBn5aB6Gfq1ZX9uhaA==","signatures":[{"sig":"MEUCIQCrWpgHFkZQTrTr/RVqHDybeU9Mbl5DN5VUm9Bwjcom8AIgcZU53u4AHtFljgBQkRzqOiqK0EdbH7tmQaWYPQ68AKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2665704},"main":"dist/luckyexcel.cjs.js","types":"dist/main.esm.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"module":"dist/luckyexcel.esm.js","browser":"dist/luckyexcel.umd.js","exports":{".":{"import":{"types":"./dist/main.esm.d.ts","default":"./dist/luckyexcel.esm.js"},"require":{"types":"./dist/main.umd.d.ts","default":"./dist/luckyexcel.cjs.js"}}},"gitHead":"bb872423042ab83fc6128733d5490f168ae6794c","scripts":{"dev":"gulp dev","build":"gulp build","prepack":"npm run build","release":"release-it","release:beta":"release-it --preRelease=beta"},"typings":"dist/main.esm.d.ts","_npmUser":{"name":"applead","email":"mustafamansoor@applead.co"},"browserify":{"transform":["browserify-shim"]},"repository":{"url":"git+https://github.com/zwight/Luckyexcel.git","type":"git"},"_npmVersion":"11.11.0","description":"An excel import and export library adapted to Luckysheet","directories":{},"_nodeVersion":"25.8.1","dependencies":{"dayjs":"^1.10.6","nanoid":"^3.3.7","xml2js":"^0.6.2","papaparse":"^5.5.2","@zwight/exceljs":"4.4.2","@progress/jszip-esm":"^1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"browserify-shim":{"@univerjs/core":"global:UniverCore"},"devDependencies":{"gulp":"^5.0.0","husk":"^0.5.3","tsify":"^5.0.4","tslib":"^2.0.3","delete":"^1.1.0","rollup":"^2.33.1","babelify":"^10.0.0","watchify":"^3.11.1","fancy-log":"^1.3.3","gulp-util":"^3.0.8","browserify":"^17.0.1","release-it":"16.2.1","typescript":"~5.3.0","@babel/core":"^7.10.5","@types/node":"^22.10.2","gulp-uglify":"^3.0.2","browser-sync":"^3.0.3","vinyl-buffer":"^1.0.1","@types/xml2js":"^0.4.14","@univerjs/core":"^0.17.0","@commitlint/cli":"^19.8.0","browserify-shim":"^3.8.16","gulp-sourcemaps":"^2.6.5","gulp-typescript":"^6.0.0-alpha.1","@types/papaparse":"^5.3.15","@babel/preset-env":"^7.26.0","vinyl-source-stream":"^2.0.0","rollup-plugin-terser":"^7.0.2","@babel/preset-typescript":"^7.26.0","@rollup/plugin-typescript":"^6.1.0","cz-conventional-changelog":"^3.3.0","rollup-plugin-typescript2":"^0.29.0","@commitlint/config-conventional":"^19.8.0","@release-it/conventional-changelog":"7.0.2"},"peerDependencies":{"@univerjs/core":"^0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/luckyexcel_1.2.0_1773731473209_0.6397236462515081","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@applead/luckyexcel","version":"1.2.1","description":"An excel import and export library adapted to Luckysheet","main":"dist/luckyexcel.cjs.js","module":"dist/luckyexcel.esm.js","browser":"dist/luckyexcel.umd.js","typings":"dist/main.esm.d.ts","exports":{".":{"import":{"types":"./dist/main.esm.d.ts","default":"./dist/luckyexcel.esm.js"},"require":{"types":"./dist/main.umd.d.ts","default":"./dist/luckyexcel.cjs.js"}}},"browserify":{"transform":["browserify-shim"]},"browserify-shim":{"@univerjs/core":"global:UniverCore"},"scripts":{"build":"gulp build","dev":"gulp dev","test":"node --test tests/**/*.test.cjs","release":"release-it","release:beta":"release-it --preRelease=beta"},"keywords":["Luckysheet","excel"],"author":{"name":"Mustafa Mansoor","email":"mustafamansoor47@gmail.com"},"homepage":"https://github.com/mustafamansoor-applead/Luckyexcel","repository":{"type":"git","url":"git+https://github.com/mustafamansoor-applead/Luckyexcel.git"},"license":"MIT","devDependencies":{"@babel/core":"^7.10.5","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@commitlint/cli":"^19.8.0","@commitlint/config-conventional":"^19.8.0","@release-it/conventional-changelog":"7.0.2","@rollup/plugin-typescript":"^6.1.0","@types/node":"^22.10.2","@types/papaparse":"^5.3.15","@types/xml2js":"^0.4.14","babelify":"^10.0.0","browser-sync":"^3.0.3","browserify":"^17.0.1","browserify-shim":"^3.8.16","cz-conventional-changelog":"^3.3.0","delete":"^1.1.0","fancy-log":"^1.3.3","gulp":"^5.0.0","gulp-sourcemaps":"^2.6.5","gulp-typescript":"^6.0.0-alpha.1","gulp-uglify":"^3.0.2","gulp-util":"^3.0.8","husk":"^0.5.3","release-it":"16.2.1","rollup":"^2.33.1","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","tsify":"^5.0.4","tslib":"^2.0.3","typescript":"~5.3.0","vinyl-buffer":"^1.0.1","vinyl-source-stream":"^2.0.0","watchify":"^3.11.1"},"dependencies":{"@progress/jszip-esm":"^1.0.3","@univerjs/core":"^0.6.0","@zwight/exceljs":"4.4.2","dayjs":"^1.10.6","nanoid":"^3.3.7","papaparse":"^5.5.2","xml2js":"^0.6.2"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"9af67fced392b911ee5e9a6ca8f2455f9889ea11","_id":"@applead/luckyexcel@1.2.1","bugs":{"url":"https://github.com/mustafamansoor-applead/Luckyexcel/issues"},"_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-vNjenW5aO/t+Y038uxkfya2eDPC9lPbz2khHbvskg5fz/DPPOVoZa5MY16zUgCkqAFmkeJY6Of+bGvNcO1uL9g==","shasum":"0c6c9b6cc6454cc0132796e333605814d0945041","tarball":"https://registry.npmjs.org/@applead/luckyexcel/-/luckyexcel-1.2.1.tgz","fileCount":47,"unpackedSize":1639810,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF4RK1A2nUxPzDpt0flJ76DVXt6dRHdh9EUfvBa+1PZJAiEA0B7IcJZdraeo6bR0pj/BuKodWAt7+ZJOKssooZcsg60="}]},"_npmUser":{"name":"applead","email":"mustafamansoor@applead.co"},"directories":{},"maintainers":[{"name":"applead","email":"mustafamansoor@applead.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/luckyexcel_1.2.1_1774531529005_0.3309197569515463"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-17T06:10:04.356Z","modified":"2026-03-26T13:25:29.401Z","1.1.6":"2026-03-17T06:10:04.623Z","1.2.0":"2026-03-17T07:11:13.445Z","1.2.1":"2026-03-26T13:25:29.287Z"},"bugs":{"url":"https://github.com/mustafamansoor-applead/Luckyexcel/issues"},"author":{"name":"Mustafa Mansoor","email":"mustafamansoor47@gmail.com"},"license":"MIT","homepage":"https://github.com/mustafamansoor-applead/Luckyexcel","keywords":["Luckysheet","excel"],"repository":{"type":"git","url":"git+https://github.com/mustafamansoor-applead/Luckyexcel.git"},"description":"An excel import and export library adapted to Luckysheet","maintainers":[{"name":"applead","email":"mustafamansoor@applead.co"}],"readme":">Warning:\nthis project was forked from [Luckyexcel](https://github.com/dream-num/Luckyexcel), base on the last commit on 2022-06-10 [5a0be428b9fead1479a0890d19fb26ae0a291a1c](https://github.com/dream-num/Luckyexcel/commit/5a0be428b9fead1479a0890d19fb26ae0a291a1c)\n\n## Introduction\nThis project is based on the import of [Luckyexcel](https://github.com/dream-num/Luckyexcel), and adds the conversion of [Luckysheet](https://github.com/mengshukeji/Luckysheet) data structure into [Univer](https://github.com/dream-num/univer) data structure. It can directly import and return the data structure required by Univer. In addition, this project also implements the export function based on Univer, supporting the export of .xlsx and .csv format files\n\n## Fork Status\nThis fork is maintained by Mustafa Mansoor (<mustafamansoor47@gmail.com>).\n\nCompared with the original upstream repo, this fork includes fixes for the slow import issue and the theme-color conditional-format import crash that affected some `.xlsx` files.\n\n## Features\nSupport Univer import excel and export excel/csv adapter list\n\n- Cell style\n- Cell border\n- Cell format, such as number format, date, percentage, etc.\n- Formula\n- Conditional Formatting\n- Sort\n- Filter\n- Cell image, floating image\n\n### Plan\nThe goal is to support all features supported by Univer\n\n- Pivot table\n- Chart\n- Annotation\n\n## Usage\n\n### CDN\n```html\n<script src=\"https://unpkg.com/@univerjs/core/lib/umd/index.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/@applead/luckyexcel/dist/luckyexcel.umd.min.js\"></script>\n<script>\n    // Univer import Excel file\n    LuckyExcel.transformExcelToUniver(\n        file,\n        async (exportJson: any) => {\n            // After obtaining the converted table data, use univer to initialize, or update the existing univer workbook\n            // Note: Univer needs to introduce dependent packages and initialize the table container before it can be used\n            univer.createUnit<IWorkbookData, Workbook>(\n                UniverInstanceType.UNIVER_SHEET,\n                exportJson || {}\n            );\n        },\n        (error: any) => {\n            console.log(error);\n        }\n    );\n    // Univer import CSV file\n    LuckyExcel.transformCsvToUniver(\n        file,\n        async (data: any) => {\n            // After obtaining the converted table data, use univer to initialize, or update the existing univer workbook\n            // Note: Univer needs to introduce dependent packages and initialize the table container before it can be used\n            univer.createUnit<IWorkbookData, Workbook>(\n                UniverInstanceType.UNIVER_SHEET,\n                data || {}\n            );\n        },\n        (error: any) => {\n            console.log(error);\n        }\n    );\n    // Export Univer to CSV file\n    // snapshot is the Univer snapshot data, getBuffer: true will not download the file, only return the csv content, false will download directly\n    // sheetName: Because Univer may have multiple sheets, csv does not have sheets, if sheetName has a value, only the data of the specified sheet name will be downloaded. If it is not passed, all sheets will be downloaded. The file name is ${fileName}_${sheet.name}\n    LuckyExcel.transformUniverToCsv({\n        snapshot,\n        fileName,\n        getBuffer: true,\n        sheetName: snapshot.sheetOrder[0],\n        success: (buffer: string | { [key: string]: string }) => {\n            console.log('success');\n        },\n        error: (error: Error) => {\n            console.log('error', error);\n        },\n    });\n    // Export Univer to XLSX file\n    // getBuffer: true will not download the file, only return the file's buffer data, false will download directly\n    LuckyExcel.transformUniverToExcel({\n        snapshot,\n        fileName,\n        getBuffer: true,\n        success: (buffer: Buffer) => {\n            console.log('success');\n        },\n        error: (error: Error) => {\n            console.log('error', error);\n        },\n    });\n</script>\n```\n> Case [univer-import-export](https://stackblitz.com/edit/vitejs-vite-phdnaxdt) shows the detailed usage\n\n### ES and Node.js\n\n#### Installation\n```shell\nnpm install @applead/luckyexcel\n```\n\n#### ES import\n```js\nimport LuckyExcel from '@applead/luckyexcel'\n\n// After getting the xlsx file\nLuckyExcel.transformExcelToUniver(\n    file,\n    async (exportJson: any) => {\n        // Get the worksheet data after conversion\n    },\n    (error: any) => {\n        // handle error if any thrown\n    }\n);\n```\n\n## Development\n\n### Requirements\n[Node.js](https://nodejs.org/en/) Version >= 6 \n\n### Installation\n```\nnpm install -g gulp-cli\nnpm install\n```\n### Development\n```\nnpm run dev\n```\n### Package\n```\nnpm run build\n```\n\nA third-party plug-in is used in the project: [JSZip](https://github.com/Stuk/jszip), thanks!\n\n## Authors and acknowledgment\n- [@dream-num](https://github.com/dream-num)\n\n## License\n[MIT](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2020-present, Mustafa Mansoor\n","readmeFilename":"README.md"}