From e9fe98b1f6913e468aa808ebf73adfd2084b7878 Mon Sep 17 00:00:00 2001 From: macro Date: Sun, 26 Apr 2026 00:26:38 +0800 Subject: [PATCH] =?UTF-8?q?docs(readme):=20=E6=9B=B4=E6=96=B0=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E8=AF=B4=E6=98=8E=E5=88=A0=E9=99=A4=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E7=9A=84=E7=81=B5=E6=B4=BB=E6=80=A7=E5=92=8C=E6=96=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 delete 操作说明,支持更灵活的起始位置和数量控制 - 添加 -y/--yes 参数说明,用于跳过删除确认 - 更新 delete 命令使用示例和参数说明 - 添加日期智能识别功能说明 - 增加备份清理功能说明 - 更新注意事项中关于删除操作的描述 - 添加常见问题中跳过删除确认的方法 - 更新数据清理示例使用新的删除语法 --- dexcel/README.md | 87 ++++++++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 32 deletions(-) diff --git a/dexcel/README.md b/dexcel/README.md index 2ff7114..1784234 100644 --- a/dexcel/README.md +++ b/dexcel/README.md @@ -11,15 +11,17 @@ - 📊 **count**: 快速统计行数,适合脚本使用 - ➕ **insert**: 插入新行,支持指定位置或追加到末尾 - ✏️ **update**: 更新现有数据,支持部分列更新 -- ❌ **delete**: 删除行,带安全确认机制 +- ❌ **delete**: 删除行,支持灵活的起始位置和数量控制 - 🎨 **style**: 设置样式(行高、列宽、自动换行) ### 通用特性 - 📑 **多 Sheet 支持**: 所有操作都支持 `--sheet` 参数指定工作表 - 🔢 **负数索引**: 支持负数行号(-1 表示最后一行) -- ⚠️ **安全确认**: delete 操作需要用户确认 +- ⚠️ **安全确认**: delete 操作默认需要用户确认,可用 `-y` 跳过 - 💾 **样式保留**: 使用 umya-spreadsheet 库,完整保留 Excel 样式 - 📤 **表格输出**: query 以美观的表格格式显示数据 +- 📅 **日期智能**: 自动识别和格式化日期时间单元格 +- 🧹 **备份清理**: 操作成功后自动删除 .bak 备份文件 ## 📦 安装 @@ -158,27 +160,36 @@ dexcel data.xlsx update "新值" --row 1 --sheet "Sheet2" ### 5. 删除数据 (delete) ```bash -# 删除前10行 -dexcel data.xlsx delete 10 +# 删除第5行(需要确认) +dexcel data.xlsx delete 5 -# 删除后5行 -dexcel data.xlsx delete -5 +# 从第3行开始删除5行(跳过确认) +dexcel data.xlsx delete 3 --count 5 -y -# 删除第3到第8行 -dexcel data.xlsx delete 3 8 +# 删除最后一行 +dexcel data.xlsx delete -1 -y + +# 删除最后3行 +dexcel data.xlsx delete -3 --count 3 -y # 指定 Sheet dexcel data.xlsx delete 1 --sheet "Sheet2" ``` #### delete 参数说明 -- ``: 删除范围,支持以下格式: - - `N` - 删除前 N 行(如 `delete 10` 删除前10行) - - `-N` - 删除后 N 行(如 `delete -10` 删除后10行) - - `START END` - 删除从 START 到 END 行(如 `delete 1 10` 删除第1到第10行) +- ``: 起始行号(必需,支持负数) + - 正数:从前往后数(如 `5` 表示第5行) + - 负数:从后往前数(如 `-1` 表示最后一行) +- `--count `: 删除的行数(默认1) +- `-y, --yes`: 跳过确认 - `--sheet `: Sheet 名称(可选) -**注意**: delete 操作需要用户确认(输入 y 继续),请谨慎操作! +**使用示例**: +- `dexcel file.xlsx delete 5` - 删除第5行(需确认) +- `dexcel file.xlsx delete 5 --count 3 -y` - 从第5行开始删除3行(跳过确认) +- `dexcel file.xlsx delete -1 --count 2 -y` - 删除最后2行 + +**注意**: delete 操作默认需要用户确认(输入 y 继续),可使用 `-y` 跳过确认。 ### 6. 设置样式 (style) @@ -264,14 +275,14 @@ done ### 示例 4: 数据清理 ```bash -# 删除前5行 -dexcel data.xlsx delete 5 +# 删除第5行 +dexcel data.xlsx delete 5 -y + +# 从第10行开始删除5行 +dexcel data.xlsx delete 10 --count 5 -y # 删除最后3行 -dexcel data.xlsx delete -3 - -# 删除第10到第20行 -dexcel data.xlsx delete 10 20 +dexcel data.xlsx delete -3 --count 3 -y ``` ### 示例 5: 多 Sheet 操作 @@ -355,9 +366,7 @@ dexcel data.xlsx style --rows 1 --row-height 20 --sheet "Sheet2" **delete 成功**: ``` -✓ 操作成功:已删除第 5 行到第 10 行(共 6 行) - 剩余行数: 94 - 文件: data.xlsx, Sheet: Sheet1 +✓ 已删除第 5 至 7 行(共 3 行) ``` ## ⚙️ 技术细节 @@ -386,11 +395,15 @@ dexcel data.xlsx style --rows 1 --row-height 20 --sheet "Sheet2" - 浮点数 (Float) - 布尔值 (Bool) - 日期时间 (DateTime) - 自动识别并格式化 + - `2024-01-15` → 显示为 `2024-01-15` + - `2024-12-25 14:30:00` → 显示为 `2024-12-25 14:30:00` + - `14:30:00` → 显示为 `14:30:00` - 空值 (Empty) - 错误值 (Error) **写入时:** - 所有数据都作为字符串写入 +- 日期时间自动识别并转换为 Excel 序列号 - 样式完全保留 ## ⚠️ 注意事项 @@ -400,11 +413,11 @@ dexcel data.xlsx style --rows 1 --row-height 20 --sheet "Sheet2" 3. **文件必须存在**: insert/update/delete 操作要求文件必须已存在 4. **分隔符默认**: 默认使用 `|` 分隔列 5. **文件格式**: 仅支持 `.xlsx`,不支持 `.xls` -6. **删除需确认**: delete 操作必须用户确认才能执行 -7. **日期自动识别**: 自动识别并格式化日期单元格 -8. **不可撤销**: delete 操作不可撤销,请谨慎操作! -9. **删除范围**: delete 支持多种删除模式(前N行、后N行、指定范围) -10. **样式保留**: 使用 umya-spreadsheet 库,完整保留 Excel 样式 +6. **删除需确认**: delete 操作默认需要用户确认,可用 `-y` 跳过 +7. **日期自动识别**: 自动识别并格式化日期单元格 (如 `2024-01-15`, `2024-12-25 14:30:00`) +8. **样式保留**: 使用 umya-spreadsheet 库,完整保留 Excel 样式 +9. **备份清理**: 操作成功后自动删除 .bak 备份文件 +10. **不可撤销**: delete 操作不可撤销,请谨慎操作! 11. **样式设置**: style 命令可设置行高、列宽、自动换行等样式 ### 限制 @@ -445,7 +458,7 @@ dexcel data.xlsx insert "数据3|数据4" ```bash dexcel data.xlsx query -5 # 最后5行 -dexcel data.xlsx delete -1 # 删除最后一行 +dexcel data.xlsx delete -1 -y # 删除最后一行 ``` ### Q4: 如何处理中文内容? @@ -471,6 +484,13 @@ if ((dexcel data.xlsx count) -gt 100) { 不能撤销,请谨慎操作!建议先备份文件。 +### Q7: 如何跳过删除确认? + +使用 `-y` 或 `--yes` 参数: +```bash +dexcel data.xlsx delete 5 --count 3 -y +``` + ## 🎯 应用场景 ### 1. 数据预览 @@ -502,11 +522,14 @@ dexcel data.xlsx update "新值" --row 6 --cell 2 ### 5. 数据清理 删除错误数据: ```bash -# 删除前5行 -dexcel data.xlsx delete 5 +# 删除第5行 +dexcel data.xlsx delete 5 -y -# 删除第10到第20行 -dexcel data.xlsx delete 10 20 +# 从第10行开始删除5行 +dexcel data.xlsx delete 10 --count 5 -y + +# 删除最后3行 +dexcel data.xlsx delete -3 --count 3 -y ``` ### 6. 自动化脚本