processing-excel-files

安装量: 41
排名: #17564

安装

npx skills add https://github.com/zgldh/xlsx-populate-skill --skill processing-excel-files
Processing Excel Files
Edit and manipulate Excel files using the xlsx-populate library while perfectly preserving original formatting.
When to Use
User wants to edit existing Excel files without destroying formatting
Working with .xlsx files that have complex layouts or merged cells
Need to add formulas, styling, or new worksheets to existing files
Creating Excel reports from templates
When NOT to Use
Only need to read data from Excel (use
xlsx
library instead for better performance)
Creating simple Excel files from scratch without formatting concerns
Quick Start
const
XlsxPopulate
=
require
(
'xlsx-populate'
)
;
// Load and edit
const
workbook
=
await
XlsxPopulate
.
fromFileAsync
(
'input.xlsx'
)
;
workbook
.
sheet
(
0
)
.
cell
(
'A1'
)
.
value
(
'Updated'
)
;
await
workbook
.
toFileAsync
(
'output.xlsx'
)
;
Installation
npm
install
xlsx-populate
Core Operations
1. Load and Preserve Formatting
const
workbook
=
await
XlsxPopulate
.
fromFileAsync
(
'file.xlsx'
)
;
const
sheet
=
workbook
.
sheet
(
0
)
;
// All original formatting is preserved automatically
sheet
.
cell
(
'A1'
)
.
value
(
'New Value'
)
;
await
workbook
.
toFileAsync
(
'output.xlsx'
)
;
2. Add Formulas
// Use formulas, not hardcoded values
sheet
.
cell
(
'D10'
)
.
formula
(
'=SUM(D2:D9)'
)
;
sheet
.
cell
(
'E5'
)
.
formula
(
'=(C5-B5)/B5'
)
;
// Growth rate
3. Apply Styles
sheet
.
cell
(
'A1'
)
.
style
(
{
bold
:
true
,
fontSize
:
14
,
fill
:
'4472C4'
,
fontColor
:
'FFFFFF'
}
)
;
4. Manage Worksheets
// Add new sheet
const
newSheet
=
workbook
.
addSheet
(
'Summary'
)
;
// Reorder sheets
workbook
.
sheets
(
)
[
2
]
.
move
(
0
)
;
// Rename sheet
workbook
.
sheet
(
0
)
.
name
(
'Cover Page'
)
;
5. Merge Cells
sheet
.
range
(
'A1:D1'
)
.
merged
(
true
)
;
sheet
.
range
(
'A1:D1'
)
.
style
(
{
horizontalAlignment
:
'center'
}
)
;
Advanced Patterns
Batch Data Writing
See [BATCH-OPERATIONS.md] for large dataset handling
Formula Patterns
See [FORMULAS.md] for financial modeling standards
Style Guide
See [STYLES.md] for color schemes and formatting
Complete Examples
See [EXAMPLES.md] for real-world scenarios
Best Practices
Always preserve originals
Never overwrite source files
await
workbook
.
toFileAsync
(
'output.xlsx'
)
;
// ✅ New file
// NOT: await workbook.toFileAsync('input.xlsx'); // ❌ Don't overwrite
Use formulas for calculations
Let Excel do the math sheet . cell ( 'B10' ) . formula ( '=SUM(B2:B9)' ) ; // ✅ // NOT: sheet.cell('B10').value(calculateSum()); // ❌ Handle errors gracefully : try { const workbook = await XlsxPopulate . fromFileAsync ( 'file.xlsx' ) ; // ... operations await workbook . toFileAsync ( 'output.xlsx' ) ; } catch ( error ) { console . error ( 'Excel operation failed:' , error . message ) ; } Common Issues Q: File size increased significantly? A: Normal - xlsx-populate preserves more metadata. Use xlsx library if file size is critical. Q: Formulas not calculating? A: Formulas are preserved but calculated when opened in Excel. Use data_only=True to read calculated values. Q: How to check merged cells? A: const merges = sheet._mergeCells; Reference xlsx-populate GitHub Library documentation: node_modules/xlsx-populate/docs/
返回排行榜