fix: excel最大行数不限制

This commit is contained in:
liyulin 2023-03-24 18:51:42 +08:00
parent 4fca3fac68
commit 3bd4f072f5
9 changed files with 115 additions and 6785 deletions

1
.gitignore vendored
View File

@ -22,3 +22,4 @@ pnpm-debug.log*
*.sw?
packages/**/lib
packages/**/README.md
pnpm-lock.yaml

View File

@ -5,6 +5,6 @@
"preview": "vitepress preview"
},
"dependencies": {
"vue": "^3.2.47"
"vue": "3.2.45"
}
}

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@
content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<title>Vite + Vue</title>
<script type="module" crossorigin src="/vue-office/examples/dist/assets/index-81aaa41f.js"></script>
<script type="module" crossorigin src="/vue-office/examples/dist/assets/index-1e80db45.js"></script>
<link rel="stylesheet" href="/vue-office/examples/dist/assets/index-606d65f9.css">
</head>
<body>

View File

@ -10,7 +10,7 @@
},
"dependencies": {
"ant-design-vue": "^3.2.15",
"vue": "^3.2.45",
"vue": "3.2.45",
"docx-preview": "^0.1.14",
"exceljs": "^4.3.0",
"lodash": "^4.17.21",

131
examples/pnpm-lock.yaml generated
View File

@ -9,23 +9,23 @@ specifiers:
rimraf: ^4.1.2
tinycolor2: ^1.6.0
vite: ^4.1.0
vue: ^3.2.45
vue: 3.2.45
vue-demi: ^0.13.11
x-data-spreadsheet: ^1.1.9
dependencies:
ant-design-vue: 3.2.15_vue@3.2.47
ant-design-vue: 3.2.15_vue@3.2.45
docx-preview: 0.1.15
exceljs: 4.3.0
lodash: 4.17.21
rimraf: 4.1.2
tinycolor2: 1.6.0
vue: 3.2.47
vue-demi: 0.13.11_vue@3.2.47
vue: 3.2.45
vue-demi: 0.13.11_vue@3.2.45
x-data-spreadsheet: 1.1.9
devDependencies:
'@vitejs/plugin-vue': 4.0.0_vite@4.1.4+vue@3.2.47
'@vitejs/plugin-vue': 4.0.0_vite@4.1.4+vue@3.2.45
vite: 4.1.4
packages:
@ -40,14 +40,14 @@ packages:
resolution: {integrity: sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==}
dev: false
/@ant-design/icons-vue/6.1.0_vue@3.2.47:
/@ant-design/icons-vue/6.1.0_vue@3.2.45:
resolution: {integrity: sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==}
peerDependencies:
vue: '>=3.0.3'
dependencies:
'@ant-design/colors': 6.0.0
'@ant-design/icons-svg': 4.2.1
vue: 3.2.47
vue: 3.2.45
dev: false
/@babel/helper-string-parser/7.19.4:
@ -317,7 +317,7 @@ packages:
resolution: {integrity: sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==}
dev: false
/@vitejs/plugin-vue/4.0.0_vite@4.1.4+vue@3.2.47:
/@vitejs/plugin-vue/4.0.0_vite@4.1.4+vue@3.2.45:
resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@ -325,81 +325,81 @@ packages:
vue: ^3.2.25
dependencies:
vite: 4.1.4
vue: 3.2.47
vue: 3.2.45
dev: true
/@vue/compiler-core/3.2.47:
resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
/@vue/compiler-core/3.2.45:
resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==}
dependencies:
'@babel/parser': 7.21.2
'@vue/shared': 3.2.47
'@vue/shared': 3.2.45
estree-walker: 2.0.2
source-map: 0.6.1
/@vue/compiler-dom/3.2.47:
resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
/@vue/compiler-dom/3.2.45:
resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==}
dependencies:
'@vue/compiler-core': 3.2.47
'@vue/shared': 3.2.47
'@vue/compiler-core': 3.2.45
'@vue/shared': 3.2.45
/@vue/compiler-sfc/3.2.47:
resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
/@vue/compiler-sfc/3.2.45:
resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==}
dependencies:
'@babel/parser': 7.21.2
'@vue/compiler-core': 3.2.47
'@vue/compiler-dom': 3.2.47
'@vue/compiler-ssr': 3.2.47
'@vue/reactivity-transform': 3.2.47
'@vue/shared': 3.2.47
'@vue/compiler-core': 3.2.45
'@vue/compiler-dom': 3.2.45
'@vue/compiler-ssr': 3.2.45
'@vue/reactivity-transform': 3.2.45
'@vue/shared': 3.2.45
estree-walker: 2.0.2
magic-string: 0.25.9
postcss: 8.4.21
source-map: 0.6.1
/@vue/compiler-ssr/3.2.47:
resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
/@vue/compiler-ssr/3.2.45:
resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==}
dependencies:
'@vue/compiler-dom': 3.2.47
'@vue/shared': 3.2.47
'@vue/compiler-dom': 3.2.45
'@vue/shared': 3.2.45
/@vue/reactivity-transform/3.2.47:
resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
/@vue/reactivity-transform/3.2.45:
resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==}
dependencies:
'@babel/parser': 7.21.2
'@vue/compiler-core': 3.2.47
'@vue/shared': 3.2.47
'@vue/compiler-core': 3.2.45
'@vue/shared': 3.2.45
estree-walker: 2.0.2
magic-string: 0.25.9
/@vue/reactivity/3.2.47:
resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
/@vue/reactivity/3.2.45:
resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==}
dependencies:
'@vue/shared': 3.2.47
'@vue/shared': 3.2.45
/@vue/runtime-core/3.2.47:
resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==}
/@vue/runtime-core/3.2.45:
resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==}
dependencies:
'@vue/reactivity': 3.2.47
'@vue/shared': 3.2.47
'@vue/reactivity': 3.2.45
'@vue/shared': 3.2.45
/@vue/runtime-dom/3.2.47:
resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==}
/@vue/runtime-dom/3.2.45:
resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==}
dependencies:
'@vue/runtime-core': 3.2.47
'@vue/shared': 3.2.47
'@vue/runtime-core': 3.2.45
'@vue/shared': 3.2.45
csstype: 2.6.21
/@vue/server-renderer/3.2.47_vue@3.2.47:
resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==}
/@vue/server-renderer/3.2.45_vue@3.2.45:
resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==}
peerDependencies:
vue: 3.2.47
vue: 3.2.45
dependencies:
'@vue/compiler-ssr': 3.2.47
'@vue/shared': 3.2.47
vue: 3.2.47
'@vue/compiler-ssr': 3.2.45
'@vue/shared': 3.2.45
vue: 3.2.45
/@vue/shared/3.2.47:
resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
/@vue/shared/3.2.45:
resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==}
/ansi-escapes/1.4.0:
resolution: {integrity: sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==}
@ -421,14 +421,14 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
/ant-design-vue/3.2.15_vue@3.2.47:
/ant-design-vue/3.2.15_vue@3.2.45:
resolution: {integrity: sha512-sJfE7LWimSdAPe4dzNyQBrmVMnOTNQTkG9oOyr+7W8qIYrX8sYWyC68Nn1uum4KBJUSZUa/BU6dohvTG0urBhA==}
engines: {node: '>=12.22.0'}
peerDependencies:
vue: '>=3.2.0'
dependencies:
'@ant-design/colors': 6.0.0
'@ant-design/icons-vue': 6.1.0_vue@3.2.47
'@ant-design/icons-vue': 6.1.0_vue@3.2.45
'@babel/runtime': 7.21.0
'@ctrl/tinycolor': 3.6.0
'@simonwep/pickr': 1.8.2
@ -442,8 +442,8 @@ packages:
resize-observer-polyfill: 1.5.1
scroll-into-view-if-needed: 2.2.31
shallow-equal: 1.2.1
vue: 3.2.47
vue-types: 3.0.2_vue@3.2.47
vue: 3.2.45
vue-types: 3.0.2_vue@3.2.45
warning: 4.0.3
dev: false
@ -1291,6 +1291,7 @@ packages:
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
deprecated: Please use @jridgewell/sourcemap-codec instead
/string-width/2.1.1:
resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
@ -1434,7 +1435,7 @@ packages:
fsevents: 2.3.2
dev: true
/vue-demi/0.13.11_vue@3.2.47:
/vue-demi/0.13.11_vue@3.2.45:
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
engines: {node: '>=12'}
hasBin: true
@ -1446,27 +1447,27 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
vue: 3.2.47
vue: 3.2.45
dev: false
/vue-types/3.0.2_vue@3.2.47:
/vue-types/3.0.2_vue@3.2.45:
resolution: {integrity: sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==}
engines: {node: '>=10.15.0'}
peerDependencies:
vue: ^3.0.0
dependencies:
is-plain-object: 3.0.1
vue: 3.2.47
vue: 3.2.45
dev: false
/vue/3.2.47:
resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==}
/vue/3.2.45:
resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==}
dependencies:
'@vue/compiler-dom': 3.2.47
'@vue/compiler-sfc': 3.2.47
'@vue/runtime-dom': 3.2.47
'@vue/server-renderer': 3.2.47_vue@3.2.47
'@vue/shared': 3.2.47
'@vue/compiler-dom': 3.2.45
'@vue/compiler-sfc': 3.2.45
'@vue/runtime-dom': 3.2.45
'@vue/server-renderer': 3.2.45_vue@3.2.45
'@vue/shared': 3.2.45
/warning/4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}

View File

@ -1,6 +1,6 @@
{
"name": "@vue-office/excel",
"version": "0.2.9",
"version": "0.2.10",
"description": "",
"main": "lib/index.js",
"files": [

View File

@ -204,7 +204,7 @@ export function transferExcelToSpreadSheet(workbook, options){
let workbookData = [];
//console.log(workbook, 'workbook')
workbook.eachSheet((sheet) => {
// console.log(sheet,'sheet');
//console.log(sheet,'sheet');
// 构造x-data-spreadsheet 的 sheet 数据源结构
let sheetData = { name: sheet.name,styles : [], rows: {},cols:{}, merges:[],media:[] };
// 收集合并单元格信息
@ -250,6 +250,7 @@ export function transferExcelToSpreadSheet(workbook, options){
if(sheetData._media){
sheetData.media = sheetData._media;
}
sheetData.rows.len = Math.max(Object.keys(sheetData.rows).length, 100);
workbookData.push(sheetData);
});
//console.log(workbookData, 'workbookData')

6673
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff