Metadata-Version: 2.4
Name: md-to-excel
Version: 1.0.0
Summary: Markdown 转 Excel 工具 - 支持将 Markdown 表格转换为格式化的 Excel 文件
Author-email: Your Name <your.email@example.com>
License: MIT
Project-URL: Homepage, https://github.com/yourusername/md-to-excel
Project-URL: Repository, https://github.com/yourusername/md-to-excel
Project-URL: Issues, https://github.com/yourusername/md-to-excel/issues
Keywords: markdown,excel,converter,table,openpyxl
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Office/Business :: Office Suites
Classifier: Topic :: Text Processing :: Markup :: Markdown
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: openpyxl>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: flake8>=4.0; extra == "dev"

# Markdown 转 Excel 工具

一个强大的 Python 工具，用于将 Markdown 表格转换为格式精美的 Excel 文件。支持命令行和图形界面两种使用方式。

## ✨ 功能特性

- 📄 **智能解析**：自动识别和解析 Markdown 文件中的多个表格
- 🎨 **精美样式**：自动生成带有专业样式的 Excel 文件
  - 标题行高亮显示
  - 自适应列宽和行高
  - 绿色边框标识第一列
  - C、D 列居中对齐
- 🔄 **多表格支持**：每个 Markdown 表格转换为独立的工作表
- 💾 **智能覆盖**：自动处理同名文件，支持备份机制
- 🖥️ **双模式运行**：支持命令行和图形界面两种方式
- 🌏 **中文友好**：完美支持中文字符和换行处理

## 📋 系统要求

- Python 3.7 或更高版本
- 支持的操作系统：Windows、Linux、macOS

## 🚀 快速开始

### 安装

```bash
# 克隆或下载项目后，进入项目目录
cd my_project

# 安装依赖
pip install openpyxl

# 或者使用 pyproject.toml 安装
pip install .
```

### 使用方法

#### 方式一：命令行模式

```bash
# 交互式输入
python -m md_to_excel.md_to_excel

# 直接指定文件
python -m md_to_excel.md_to_excel input.md output.xlsx

# 仅指定输入文件（输出文件自动生成）
python -m md_to_excel.md_to_excel input.md
```

#### 方式二：图形界面模式

```bash
# 启动 GUI
python -m md_to_excel.md_to_excel_gui
```

图形界面提供：
- 可视化文件选择
- 实时进度显示
- 友好的错误提示
- 一键转换操作

## 📖 使用示例

### Markdown 输入示例

创建 `example.md` 文件：

```markdown
# 示例文档

这是一个测试表格：

| 姓名 | 年龄 | 城市 | 职业 |
|------|------|------|------|
| 张三 | 25 | 北京 | 工程师 |
| 李四 | 30 | 上海 | 设计师 |
| 王五 | 28 | 广州 | 产品经理 |

另一个表格：

| 产品 | 价格 | 库存 |
|------|------|------|
| 手机 | 5999 | 100 |
| 电脑 | 8999 | 50 |
| 平板 | 3999 | 75 |
```

### 运行转换

```bash
python -m md_to_excel.md_to_excel example.md
```

生成的 `example.xlsx` 将包含两个工作表，每个表格都有专业的样式和格式。

## 🛠️ 技术细节

### 样式设计

- **标题行**：浅蓝色背景 (#B4C6E7)，加粗字体，居中对齐
- **数据行**：白色背景，微软雅黑字体
- **边框**：黑色细边框，第一列使用绿色边框突出
- **对齐方式**：
  - C、D 列：居中对齐
  - 其他列：左对齐
- **冻结窗格**：首行冻结，方便滚动查看

### 智能优化

- **列宽自适应**：根据内容自动调整，最小 12，最大 50
- **行高自适应**：根据换行数量动态调整
- **换行处理**：自动将 `<br>` 标签转换为 Excel 换行符
- **中文支持**：中文字符按 2 倍宽度计算

## 📦 项目结构

```
my_project/
├── my_package/
│   ├── __init__.py
│   ├── md_to_excel.py          # 核心转换逻辑
│   └── md_to_excel_gui.py      # 图形界面
├── pyproject.toml              # 项目配置
└── README.md                   # 项目说明
```

## 🔧 开发指南

### 安装开发依赖

```bash
pip install .[dev]
```

### 代码格式化

```bash
black md_to_excel/
```

### 运行测试

```bash
pytest tests/
```

## 🐛 常见问题

### Q: 转换时提示"文件正被使用"？
A: 请关闭已打开的 Excel 文件后重试。程序会自动尝试生成备份文件。

### Q: 表格没有被识别？
A: 确保 Markdown 表格格式正确，必须包含：
- 以 `|` 开头和结尾
- 包含分隔符行（`|---|---|`）
- 单元格之间用 `|` 分隔

### Q: 如何自定义样式？
A: 修改 `md_to_excel.py` 中的 `_create_styles()` 函数即可自定义颜色、字体等样式。

### Q: 支持哪些 Markdown 表格格式？
A: 支持标准的 GitHub Flavored Markdown 表格格式，包括：
- 基本表格
- 带对齐标记的表格
- 包含 HTML 换行标签的表格

## 📝 API 参考

### 主要函数

#### `convert_md_to_excel(md_file_path, excel_file_path=None)`
主转换函数

**参数：**
- `md_file_path` (str): Markdown 文件路径
- `excel_file_path` (str, optional): Excel 输出文件路径，默认为 None（自动生成）

**返回：**
- `bool`: 转换是否成功

**示例：**

```python
from md_to_excel.md_to_excel import convert_md_to_excel

success = convert_md_to_excel("input.md", "output.xlsx")
if success:
  print("转换成功！")
```

#### `parse_markdown_tables(content)`
从 Markdown 内容中解析表格

**参数：**
- `content` (str): Markdown 文本内容

**返回：**
- `list`: 表格数据列表

## 🤝 贡献指南

欢迎提交 Issue 和 Pull Request！

1. Fork 本项目
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request

## 📄 许可证

本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件

## 👤 作者

https://github.com/FovLucky-heng

## 🙏 致谢

- [openpyxl](https://openpyxl.readthedocs.io/) - Excel 文件操作库
- 所有贡献者和使用者

## 📮 联系方式

如有问题或建议，请通过以下方式联系：
- 提交 Issue
- 发送邮件至：2956332991@qq.com

---

**享受高效的 Markdown 到 Excel 转换体验！** 🎉

