转换
June 27, 2026 · View on GitHub
一个极简、轻量化的 .NET 库,用于将 Office 文件转换为 PDF。
👉 在线演示 — 在浏览器中快速体验,无需安装。
⚠️ 由于浏览器可用字体有限,渲染效果可能不够理想。建议在本地电脑上测试以获得最佳效果。
功能特性
- Excel 转 PDF — 将
.xlsx文件转换为 PDF - Word 转 PDF — 将
.docx文件转换为 PDF - PowerPoint 转 PDF — 将
.pptx文件转换为 PDF - 极少依赖 — 轻量化设计,几乎仅使用 .NET 内置 API
- Serverless 就绪 — 无需 COM、无需安装 Office、无需 Adobe Acrobat — 有 .NET 即可运行
- Native AOT — 预编译独立二进制文件,支持 Windows / Linux / macOS,无需安装 .NET 运行时
- 标准 PDF 1.4 格式输出
- 完全开源免费 — 基于 Apache 2.0 协议,可自由商用,无任何限制,注明出处即可。欢迎提交 PR 一起贡献!
- 图表 — 目前支持尚不完善
注意: MiniPdf 目前只能处理基本的转换需求。对于复杂或高度自定义的 Office 文档,转换效果可能不够理想。如果您遇到兼容性问题,欢迎提交 Issue 或发起 Pull Request,一起让项目变得更好!
参考
- 使用
Apache POI+LibreOffice训练参考小模型 - AI 开发使用
GitHub Copilot+Claude Code
快速开始
通过 NuGet 安装
dotnet add package MiniPdf
使用方式
using MiniSoftware;
// Excel 转 PDF
MiniPdf.ConvertToPdf("data.xlsx", "output.pdf");
// Word 转 PDF
MiniPdf.ConvertToPdf("report.docx", "output.pdf");
// PowerPoint 转 PDF
MiniPdf.ConvertToPdf("slides.pptx", "output.pdf");
// 文件转字节数组
byte[] pdfBytes = MiniPdf.ConvertToPdf("data.xlsx");
// 按名称或 1-based 索引渲染指定的 Excel 工作表(null 会渲染所有工作表)
MiniPdf.ConvertToPdf("data.xlsx", "selected.pdf", sheets: new[] { "Summary", "Details" });
MiniPdf.ConvertToPdf("data.xlsx", "selected.pdf", sheetIndexes: new[] { 1, 3 });
// 流转字节数组
using var stream = File.OpenRead("data.xlsx");
byte[] pdfBytes = MiniPdf.ConvertToPdf(stream);
自定义字体
如果运行环境系统字体有限(例如容器或 Blazor WASM),请在转换前先注册字体。
using MiniSoftware;
// 建议在应用启动时注册一个或多个字体
MiniPdf.RegisterFont("NotoSansSC", File.ReadAllBytes("Fonts/NotoSansSC-Regular.ttf"));
MiniPdf.RegisterFont("NotoColorEmoji", File.ReadAllBytes("Fonts/NotoColorEmoji.ttf"));
MiniPdf.ConvertToPdf("report.docx", "report.pdf");
说明:
- 支持传入 TrueType
.ttf和 TrueType Collection.ttc字体字节。 - 建议仅在启动阶段注册一次,避免重复注册。
- 已注册字体会优先于系统字体参与匹配。
命令行工具
MiniPdf 还提供命令行工具 MiniPdf.Cli,无需编写代码即可快速转换文件。
安装
dotnet tool install --global MiniPdf.Cli
使用方式
# 将 Excel 转为 PDF(输出: data.pdf)
minipdf data.xlsx
# 将 Word 转为 PDF
minipdf report.docx
# 将 PowerPoint 转为 PDF
minipdf slides.pptx
# 指定输出路径
minipdf report.docx -o /path/to/output.pdf
# 注册自定义字体(适用于容器/无头环境)
minipdf report.docx --fonts ./Fonts
命令说明
| 命令 | 说明 |
|---|---|
minipdf <file> | 将 .xlsx / .docx / .pptx 转换为 PDF |
minipdf convert <file> -o <out> | 转换并指定输出路径 |
minipdf --version | 显示版本 |
minipdf --help | 显示帮助 |
Native AOT 独立二进制文件
MiniPdf.Cli 支持 Native AOT(Ahead-of-Time,预编译)— 在构建阶段将 C# 代码直接编译为原生机器码,如同 C/C++ 编译一样,生成独立的可执行文件。运行时无需 .NET 运行时或 JIT 编译器。
优势:
- 零依赖 — 目标机器无需安装 .NET SDK 或运行时
- 即时启动 — 原生机器码,无 JIT 预热
- 体积小巧 — 单文件二进制,便于分发和部署
- CI/CD 友好 — 下载即可运行,无需在流水线中安装 .NET
下载: 从 GitHub Releases 页面下载对应平台的二进制文件。
| 平台 | 文件 |
|---|---|
| Windows x64 | minipdf-win-x64.zip |
| Windows ARM64 | minipdf-win-arm64.zip |
| Linux x64 | minipdf-linux-x64.tar.gz |
| Linux ARM64 | minipdf-linux-arm64.tar.gz |
| macOS x64 | minipdf-osx-x64.tar.gz |
| macOS ARM64 (Apple Silicon) | minipdf-osx-arm64.tar.gz |
使用方式(Linux / macOS 示例):
# 下载并解压
tar -xzf minipdf-linux-x64.tar.gz
# 转换
./minipdf report.docx -o report.pdf
使用方式(Windows 示例):
# 解压 zip 后运行
.\minipdf.exe report.docx -o report.pdf
基准测试
MiniPdf 的输出与 MiniExcel 及 Office 365 作为参考渲染器进行对比,共 373 个测试用例。
| 报告 | 用例数 | 🟢 优秀 (≥90%) | 🟡 可接受 (70%–90%) | 🔴 待改进 (<70%) | 平均分 |
|---|---|---|---|---|---|
| XLSX 转 PDF | 191 | 175 | 16 | 0 | 96.9% |
| DOCX 转 PDF | 180 | 178 | 2 | 0 | 97.6% |
| Issue XLSX 文件 | 2 | 1 | 1 | 0 | 83.8% |
| 合计 | 373 | 354 | 19 | 0 | 97.2% |
评分方式:文本相似度 40% + 视觉相似度 40% + 页数 20%
详细对比报告
- XLSX 基准测试报告 — XLSX 转换测试用例
- DOCX 基准测试报告 — DOCX 转换测试用例
- Issue XLSX 文件报告 — 实际 Issue 文件测试用例
- Issue DOCX 文件报告 — 实际 Issue 文件测试用例
视觉对比
所有测试用例对比 MiniPdf 输出与 MiniExcel / Office 365 参考。多页结果仅显示第 1 页。
| MiniPdf | MiniExcel / Office 365(参考) |
|---|---|
| classic01 | Basic table with headers 🟢 99.9% |
![]() |
![]() |
| classic02 | Multiple worksheets 🟢 99.8% |
![]() |
![]() |
| classic03 | Empty workbook 🟢 100.0% |
![]() |
![]() |
| classic04 | Single cell 🟢 100.0% |
![]() |
![]() |
| classic05 | Wide table 🟢 99.8% |
![]() |
![]() |
| classic06 | Tall table 🟢 97.8% |
![]() |
![]() |
| classic07 | Numbers only 🟢 100.0% |
![]() |
![]() |
| classic08 | Mixed text and numbers 🟢 99.9% |
![]() |
![]() |
| classic09 | Long text 🟢 98.4% |
![]() |
![]() |
| classic10 | Special xml characters 🟢 99.9% |
![]() |
![]() |
| classic11 | Sparse rows 🟢 100.0% |
![]() |
![]() |
| classic12 | Sparse columns 🟢 99.9% |
![]() |
![]() |
| classic13 | Date strings 🟢 99.9% |
![]() |
![]() |
| classic14 | Decimal numbers 🟢 99.9% |
![]() |
![]() |
| classic15 | Negative numbers 🟢 99.9% |
![]() |
![]() |
| classic16 | Percentage strings 🟢 99.4% |
![]() |
![]() |
| classic17 | Currency strings 🟢 99.9% |
![]() |
![]() |
| classic18 | Large dataset 🟢 95.7% |
![]() |
![]() |
| classic19 | Single column list 🟢 99.9% |
![]() |
![]() |
| classic20 | All empty cells 🟢 100.0% |
![]() |
![]() |
| classic21 | Header only 🟢 99.9% |
![]() |
![]() |
| classic22 | Long sheet name 🟢 99.9% |
![]() |
![]() |
| classic23 | Unicode text 🟢 91.3% |
![]() |
![]() |
| classic24 | Red text 🟢 99.9% |
![]() |
![]() |
| classic25 | Multiple colors 🟢 99.8% |
![]() |
![]() |
| classic26 | Inline strings 🟢 99.9% |
![]() |
![]() |
| classic27 | Single row 🟢 99.9% |
![]() |
![]() |
| classic28 | Duplicate values 🟢 99.9% |
![]() |
![]() |
| classic29 | Formula results 🟢 99.9% |
![]() |
![]() |
| classic30 | Mixed empty and filled sheets 🟢 100.0% |
![]() |
![]() |
| classic31 | Bold header row 🟢 99.9% |
![]() |
![]() |
| classic32 | Right aligned numbers 🟢 99.9% |
![]() |
![]() |
| classic33 | Centered text 🟢 99.9% |
![]() |
![]() |
| classic34 | Explicit column widths 🟢 99.9% |
![]() |
![]() |
| classic35 | Explicit row heights 🟢 99.5% |
![]() |
![]() |
| classic36 | Merged cells 🟢 99.9% |
![]() |
![]() |
| classic37 | Freeze panes 🟢 99.6% |
![]() |
![]() |
| classic38 | Hyperlink cell 🟢 99.9% |
![]() |
![]() |
| classic39 | Financial table 🟢 99.8% |
![]() |
![]() |
| classic40 | Scientific notation 🟢 99.9% |
![]() |
![]() |
| classic41 | Integer vs float 🟢 99.9% |
![]() |
![]() |
| classic42 | Boolean values 🟢 99.6% |
![]() |
![]() |
| classic43 | Inventory report 🟢 99.5% |
![]() |
![]() |
| classic44 | Employee roster 🟢 98.0% |
![]() |
![]() |
| classic45 | Sales by region 🟢 99.9% |
![]() |
![]() |
| classic46 | Grade book 🟢 99.6% |
![]() |
![]() |
| classic47 | Time series 🟢 99.3% |
![]() |
![]() |
| classic48 | Survey results 🟢 99.6% |
![]() |
![]() |
| classic49 | Contact list 🟢 98.5% |
![]() |
![]() |
| classic50 | Budget vs actuals 🟢 99.6% |
![]() |
![]() |
| classic51 | Product catalog 🟢 98.5% |
![]() |
![]() |
| classic52 | Pivot summary 🟢 99.6% |
![]() |
![]() |
| classic53 | Invoice 🟢 99.5% |
![]() |
![]() |
| classic54 | Multi level header 🟢 99.8% |
![]() |
![]() |
| classic55 | Error values 🟢 99.8% |
![]() |
![]() |
| classic56 | Alternating row colors 🟢 99.6% |
![]() |
![]() |
| classic57 | Cjk only 🟢 91.1% |
![]() |
![]() |
| classic58 | Mixed numeric formats 🟢 99.5% |
![]() |
![]() |
| classic59 | Multi sheet summary 🟢 99.9% |
![]() |
![]() |
| classic60 | Large wide table 🟢 97.4% |
![]() |
![]() |
| classic61 | Product card with image 🟢 99.9% |
![]() |
![]() |
| classic62 | Company logo header 🟢 99.6% |
![]() |
![]() |
| classic63 | Two products side by side 🟢 99.8% |
![]() |
![]() |
| classic64 | Employee directory with photo 🟢 99.1% |
![]() |
![]() |
| classic65 | Inventory with product photos 🟢 99.4% |
![]() |
![]() |
| classic66 | Invoice with logo 🟢 99.2% |
![]() |
![]() |
| classic67 | Real estate listing 🟢 99.8% |
![]() |
![]() |
| classic68 | Restaurant menu 🟢 98.6% |
![]() |
![]() |
| classic69 | Image only sheet 🟢 100.0% |
![]() |
![]() |
| classic70 | Product catalog with images 🟢 99.2% |
![]() |
![]() |
| classic71 | Multi sheet with images 🟢 99.8% |
![]() |
![]() |
| classic72 | Bar chart image with data 🟢 99.5% |
![]() |
![]() |
| classic73 | Event flyer with banner 🟢 99.6% |
![]() |
![]() |
| classic74 | Dashboard with kpi image 🟢 97.9% |
![]() |
![]() |
| classic75 | Certificate with seal 🟢 99.5% |
![]() |
![]() |
| classic76 | Product image grid 🟢 99.7% |
![]() |
![]() |
| classic77 | News article with hero image 🟢 99.6% |
![]() |
![]() |
| classic78 | Small icon per row 🟢 99.2% |
| classic79 | Wide panoramic banner 🟢 99.8% |
![]() |
![]() |
| classic80 | Portrait tall image 🟢 99.8% |
![]() |
![]() |
| classic81 | Step by step with images 🟢 99.7% |
![]() |
![]() |
| classic82 | Before after images 🟢 99.4% |
![]() |
![]() |
| classic83 | Color swatch palette 🟢 99.4% |
![]() |
![]() |
| classic84 | Travel destination cards 🟢 99.6% |
![]() |
![]() |
| classic85 | Lab results with image 🟢 99.2% |
![]() |
![]() |
| classic86 | Software screenshot features 🟢 98.7% |
![]() |
![]() |
| classic87 | Sports results with logos 🟢 99.8% |
![]() |
![]() |
| classic88 | Image after data 🟢 99.7% |
![]() |
![]() |
| classic89 | Nutrition label with image 🟢 99.5% |
![]() |
![]() |
| classic90 | Project status with milestones 🟢 99.0% |
![]() |
![]() |
| classic91 | Simple bar chart 🟢 96.6% |
![]() |
![]() |
| classic92 | Horizontal bar chart 🟢 96.9% |
![]() |
![]() |
| classic93 | Line chart 🟢 93.2% |
![]() |
![]() |
| classic94 | Pie chart 🟢 97.2% |
![]() |
![]() |
| classic95 | Area chart 🟡 76.4% |
![]() |
![]() |
| classic96 | Scatter chart 🟢 94.8% |
![]() |
![]() |
| classic97 | Doughnut chart 🟢 97.5% |
![]() |
![]() |
| classic98 | Radar chart 🟢 95.1% |
![]() |
![]() |
| classic99 | Bubble chart 🟢 92.0% |
![]() |
![]() |
| classic100 | Stacked bar chart 🟢 95.0% |
![]() |
![]() |
| classic101 | Percent stacked bar 🟢 93.6% |
![]() |
![]() |
| classic102 | Line chart with markers 🟢 93.0% |
![]() |
![]() |
| classic103 | Pie chart with labels 🟡 86.9% |
![]() |
![]() |
| classic104 | Combo bar line chart 🟡 81.6% |
![]() |
![]() |
| classic105 | 3d bar chart 🟡 85.8% |
![]() |
![]() |
| classic106 | 3d pie chart 🟢 96.7% |
![]() |
![]() |
| classic107 | Multi series line 🟡 80.6% |
![]() |
![]() |
| classic108 | Stacked area chart 🟢 94.4% |
![]() |
![]() |
| classic109 | Scatter with trendline 🟢 92.3% |
![]() |
![]() |
| classic110 | Chart with legend 🟡 84.7% |
![]() |
![]() |
| classic111 | Chart with axis labels 🟢 92.1% |
![]() |
![]() |
| classic112 | Multiple charts 🟡 85.4% |
![]() |
![]() |
| classic113 | Chart sheet 🟡 86.4% |
![]() |
![]() |
| classic114 | Chart large dataset 🟢 91.6% |
![]() |
![]() |
| classic115 | Chart negative values 🟢 92.1% |
![]() |
![]() |
| classic116 | Percent stacked area 🟢 93.8% |
![]() |
![]() |
| classic117 | Stock ohlc chart 🟡 80.9% |
![]() |
![]() |
| classic118 | Bar chart custom colors 🟢 95.5% |
![]() |
![]() |
| classic119 | Dashboard multi charts 🟢 92.1% |
![]() |
![]() |
| classic120 | Chart with date axis 🟡 76.1% |
![]() |
![]() |
| classic121 | Thin borders 🟢 99.7% |
![]() |
![]() |
| classic122 | Thick outer thin inner 🟢 99.6% |
![]() |
![]() |
| classic123 | Dashed borders 🟢 99.1% |
![]() |
![]() |
| classic124 | Colored borders 🟢 99.7% |
![]() |
![]() |
| classic125 | Solid fills 🟢 99.2% |
![]() |
![]() |
| classic126 | Dark header 🟢 99.5% |
![]() |
![]() |
| classic127 | Font styles 🟢 99.6% |
![]() |
![]() |
| classic128 | Font sizes 🟢 99.0% |
![]() |
![]() |
| classic129 | Alignment combos 🟢 99.8% |
![]() |
![]() |
| classic130 | Wrap and indent 🟢 99.5% |
![]() |
![]() |
| classic131 | Number formats 🟢 99.6% |
![]() |
![]() |
| classic132 | Striped table 🟢 99.0% |
![]() |
![]() |
| classic133 | Gradient rows 🟢 99.6% |
![]() |
![]() |
| classic134 | Heatmap 🟢 98.8% |
![]() |
![]() |
| classic135 | Bottom border only 🟢 99.8% |
![]() |
![]() |
| classic136 | Financial report styled 🟢 99.3% |
![]() |
![]() |
| classic137 | Checkerboard 🟢 98.4% |
![]() |
![]() |
| classic138 | Color grid 🟢 99.4% |
![]() |
![]() |
| classic139 | Pattern fills 🟢 99.2% |
![]() |
![]() |
| classic140 | Rotated text 🟢 98.1% |
![]() |
![]() |
| classic141 | Mixed edge borders 🟢 99.7% |
![]() |
![]() |
| classic142 | Styled invoice 🟢 98.3% |
![]() |
![]() |
| classic143 | Colored tabs 🟢 100.0% |
![]() |
![]() |
| classic144 | Note style cells 🟢 99.6% |
![]() |
![]() |
| classic145 | Status badges 🟢 99.1% |
![]() |
![]() |
| classic146 | Double border table 🟢 99.6% |
![]() |
![]() |
| classic147 | Multi sheet styled 🟢 99.7% |
![]() |
![]() |
| classic148 | Frozen styled grid 🟢 97.3% |
![]() |
![]() |
| classic149 | Merged styled sections 🟢 98.7% |
![]() |
![]() |
| classic150 | Kitchen sink styles 🟢 97.5% |
![]() |
![]() |
| classic151 | Multilingual greetings 🟢 93.5% |
![]() |
![]() |
| classic152 | Emoji sampler 🟢 91.1% |
![]() |
![]() |
| classic153 | Currency symbols 🟢 98.5% |
![]() |
![]() |
| classic154 | Math symbols 🟢 95.7% |
![]() |
![]() |
| classic155 | Diacritical marks 🟢 99.8% |
![]() |
![]() |
| classic156 | Rtl bidi text 🟡 84.0% |
![]() |
![]() |
| classic157 | Cjk extended 🟢 91.3% |
![]() |
![]() |
| classic158 | Emoji skin tones 🟢 99.3% |
![]() |
![]() |
| classic159 | Zwj emoji 🟢 90.6% |
![]() |
![]() |
| classic160 | Punctuation marks 🟢 94.4% |
![]() |
![]() |
| classic161 | Box drawing 🟢 95.0% |
![]() |
![]() |
| classic162 | Cjk emoji styled 🟡 86.5% |
![]() |
![]() |
| classic163 | Cyrillic alphabets 🟢 99.6% |
![]() |
![]() |
| classic164 | Indic scripts 🟡 87.4% |
![]() |
![]() |
| classic165 | Southeast asian 🟢 96.0% |
![]() |
![]() |
| classic166 | Emoji progress 🟢 98.6% |
![]() |
![]() |
| classic167 | Musical symbols 🟢 90.0% |
![]() |
![]() |
| classic168 | Mixed ltr rtl styled 🟢 94.5% |
![]() |
![]() |
| classic169 | Korean invoice 🟡 88.4% |
![]() |
![]() |
| classic170 | Emoji dashboard 🟢 96.3% |
![]() |
![]() |
| classic171 | Ipa phonetic 🟢 97.6% |
![]() |
![]() |
| classic172 | Emoji timeline 🟢 95.3% |
![]() |
![]() |
| classic173 | African languages 🟢 90.8% |
![]() |
![]() |
| classic174 | Technical symbols 🟢 94.4% |
![]() |
![]() |
| classic175 | Multiscript catalog 🟢 92.6% |
![]() |
![]() |
| classic176 | Combining characters 🟢 94.5% |
![]() |
![]() |
| classic177 | Emoji calendar 🟡 88.4% |
![]() |
![]() |
| classic178 | Caucasus ethiopic 🟢 96.9% |
![]() |
![]() |
| classic179 | Emoji inventory 🟢 91.0% |
![]() |
![]() |
| classic180 | Polyglot paragraph 🟢 93.6% |
![]() |
![]() |
| classic181 | Feedback tracker with images 🟢 99.4% |
| classic182 | Dense long text columns 🟢 96.5% |
![]() |
![]() |
| classic183 | Mixed content grid 🟢 99.4% |
![]() |
![]() |
| classic184 | Wide narrow columns 🟢 98.4% |
![]() |
![]() |
| classic185 | Tall rows vertical align 🟢 99.7% |
![]() |
![]() |
| classic186 | Multi sheet image report 🟢 99.6% |
![]() |
![]() |
| classic187 | Bug report with screenshots 🟢 98.2% |
![]() |
![]() |
| classic188 | Merged header with images 🟢 99.5% |
![]() |
![]() |
| classic189 | Alternating image text rows 🟢 95.3% |
![]() |
![]() |
| classic190 | Dashboard kpi images 🟢 99.5% |
![]() |
![]() |
| classic191 | Payroll calculator 🟡 89.5% |
![]() |
![]() |
DOCX 基准测试
MiniPdf DOCX 的输出与 MiniExcel 及 Office 365 作为参考渲染器进行对比,涵盖 180 个经典测试用例。
| 类别 | 数量 | 阈值 |
|---|---|---|
| 🟢 优秀 | 175 | ≥ 90% |
| 🟡 可接受 | 16 | 70% – 90% |
| 🔴 待改进 | 0 | < 70% |
整体平均分: 96.9%(文本相似度 40% + 视觉相似度 40% + 页数 20%)
DOCX 视觉对比
所有 DOCX 测试用例对比 MiniPdf 输出与 MiniExcel / Office 365 参考。多页结果仅显示第 1 页。
| MiniPdf | MiniExcel / Office 365 (Reference) |
|---|---|
| classic01 | Basic table with headers 🟢 99.9% |
![]() |
![]() |
| classic02 | Multiple worksheets 🟢 99.8% |
![]() |
![]() |
| classic03 | Empty workbook 🟢 100.0% |
![]() |
![]() |
| classic04 | Single cell 🟢 100.0% |
![]() |
![]() |
| classic05 | Wide table 🟢 99.8% |
![]() |
![]() |
| classic06 | Tall table 🟢 97.8% |
![]() |
![]() |
| classic07 | Numbers only 🟢 100.0% |
![]() |
![]() |
| classic08 | Mixed text and numbers 🟢 99.9% |
![]() |
![]() |
| classic09 | Long text 🟢 98.4% |
![]() |
![]() |
| classic10 | Special xml characters 🟢 99.9% |
![]() |
![]() |
| classic11 | Sparse rows 🟢 100.0% |
![]() |
![]() |
| classic12 | Sparse columns 🟢 99.9% |
![]() |
![]() |
| classic13 | Date strings 🟢 99.9% |
![]() |
![]() |
| classic14 | Decimal numbers 🟢 99.9% |
![]() |
![]() |
| classic15 | Negative numbers 🟢 99.9% |
![]() |
![]() |
| classic16 | Percentage strings 🟢 99.4% |
![]() |
![]() |
| classic17 | Currency strings 🟢 99.9% |
![]() |
![]() |
| classic18 | Large dataset 🟢 95.7% |
![]() |
![]() |
| classic19 | Single column list 🟢 99.9% |
![]() |
![]() |
| classic20 | All empty cells 🟢 100.0% |
![]() |
![]() |
| classic21 | Header only 🟢 99.9% |
![]() |
![]() |
| classic22 | Long sheet name 🟢 99.9% |
![]() |
![]() |
| classic23 | Unicode text 🟢 91.3% |
![]() |
![]() |
| classic24 | Red text 🟢 99.9% |
![]() |
![]() |
| classic25 | Multiple colors 🟢 99.8% |
![]() |
![]() |
| classic26 | Inline strings 🟢 99.9% |
![]() |
![]() |
| classic27 | Single row 🟢 99.9% |
![]() |
![]() |
| classic28 | Duplicate values 🟢 99.9% |
![]() |
![]() |
| classic29 | Formula results 🟢 99.9% |
![]() |
![]() |
| classic30 | Mixed empty and filled sheets 🟢 100.0% |
![]() |
![]() |
| classic31 | Bold header row 🟢 99.9% |
![]() |
![]() |
| classic31 | Bold header row 🟢 99.9% |
![]() |
![]() |
| classic32 | Right aligned numbers 🟢 99.9% |
![]() |
![]() |
| classic32 | Right aligned numbers 🟢 99.9% |
![]() |
![]() |
| classic33 | Centered text 🟢 99.9% |
![]() |
![]() |
| classic33 | Centered text 🟢 99.9% |
![]() |
![]() |
| classic34 | Explicit column widths 🟢 99.9% |
![]() |
![]() |
| classic34 | Explicit column widths 🟢 99.9% |
![]() |
![]() |
| classic35 | Explicit row heights 🟢 99.5% |
![]() |
![]() |
| classic35 | Explicit row heights 🟢 99.5% |
![]() |
![]() |
| classic36 | Merged cells 🟢 99.9% |
![]() |
![]() |
| classic36 | Merged cells 🟢 99.9% |
![]() |
![]() |
| classic37 | Freeze panes 🟢 99.6% |
![]() |
![]() |
| classic37 | Freeze panes 🟢 99.6% |
![]() |
![]() |
| classic38 | Hyperlink cell 🟢 99.9% |
![]() |
![]() |
| classic38 | Hyperlink cell 🟢 99.9% |
![]() |
![]() |
| classic39 | Financial table 🟢 99.8% |
![]() |
![]() |
| classic39 | Financial table 🟢 99.8% |
![]() |
![]() |
| classic40 | Scientific notation 🟢 99.9% |
![]() |
![]() |
| classic40 | Scientific notation 🟢 99.9% |
![]() |
![]() |
| classic41 | Integer vs float 🟢 99.9% |
![]() |
![]() |
| classic41 | Integer vs float 🟢 99.9% |
![]() |
![]() |
| classic42 | Boolean values 🟢 99.6% |
![]() |
![]() |
| classic42 | Boolean values 🟢 99.6% |
![]() |
![]() |
| classic43 | Inventory report 🟢 99.5% |
![]() |
![]() |
| classic43 | Inventory report 🟢 99.5% |
![]() |
![]() |
| classic44 | Employee roster 🟢 98.0% |
![]() |
![]() |
| classic44 | Employee roster 🟢 98.0% |
![]() |
![]() |
| classic45 | Sales by region 🟢 99.9% |
![]() |
![]() |
| classic45 | Sales by region 🟢 99.9% |
![]() |
![]() |
| classic46 | Grade book 🟢 99.6% |
![]() |
![]() |
| classic46 | Grade book 🟢 99.6% |
![]() |
![]() |
| classic47 | Time series 🟢 99.3% |
![]() |
![]() |
| classic47 | Time series 🟢 99.3% |
![]() |
![]() |
| classic48 | Survey results 🟢 99.6% |
![]() |
![]() |
| classic48 | Survey results 🟢 99.6% |
| classic49 | Contact list 🟢 98.5% |
![]() |
![]() |
| classic49 | Contact list 🟢 98.5% |
![]() |
![]() |
| classic50 | Budget vs actuals 🟢 99.6% |
![]() |
![]() |
| classic50 | Budget vs actuals 🟢 99.6% |
![]() |
![]() |
| classic51 | Product catalog 🟢 98.5% |
![]() |
![]() |
| classic51 | Product catalog 🟢 98.5% |
![]() |
![]() |
| classic52 | Pivot summary 🟢 99.6% |
![]() |
![]() |
| classic52 | Pivot summary 🟢 99.6% |
![]() |
![]() |
| classic53 | Invoice 🟢 99.5% |
![]() |
![]() |
| classic53 | Invoice 🟢 99.5% |
![]() |
![]() |
| classic54 | Multi level header 🟢 99.8% |
![]() |
![]() |
| classic54 | Multi level header 🟢 99.8% |
![]() |
![]() |
| classic55 | Error values 🟢 99.8% |
![]() |
![]() |
| classic55 | Error values 🟢 99.8% |
![]() |
![]() |
| classic56 | Alternating row colors 🟢 99.6% |
![]() |
![]() |
| classic56 | Alternating row colors 🟢 99.6% |
![]() |
![]() |
| classic57 | Cjk only 🟢 91.1% |
![]() |
![]() |
| classic57 | Cjk only 🟢 91.1% |
![]() |
![]() |
| classic58 | Mixed numeric formats 🟢 99.5% |
![]() |
![]() |
| classic58 | Mixed numeric formats 🟢 99.5% |
![]() |
![]() |
| classic59 | Multi sheet summary 🟢 99.9% |
![]() |
![]() |
| classic59 | Multi sheet summary 🟢 99.9% |
![]() |
![]() |
| classic60 | Large wide table 🟢 97.4% |
![]() |
![]() |
| classic60 | Large wide table 🟢 97.4% |
![]() |
![]() |
| classic61 | Product card with image 🟢 99.9% |
![]() |
![]() |
| classic62 | Company logo header 🟢 99.6% |
![]() |
![]() |
| classic63 | Two products side by side 🟢 99.8% |
![]() |
![]() |
| classic64 | Employee directory with photo 🟢 99.1% |
![]() |
![]() |
| classic65 | Inventory with product photos 🟢 99.4% |
![]() |
![]() |
| classic66 | Invoice with logo 🟢 99.2% |
![]() |
![]() |
| classic67 | Real estate listing 🟢 99.8% |
![]() |
![]() |
| classic68 | Restaurant menu 🟢 98.6% |
![]() |
![]() |
| classic69 | Image only sheet 🟢 100.0% |
![]() |
![]() |
| classic70 | Product catalog with images 🟢 99.2% |
![]() |
![]() |
| classic71 | Multi sheet with images 🟢 99.8% |
![]() |
![]() |
| classic72 | Bar chart image with data 🟢 99.5% |
![]() |
![]() |
| classic73 | Event flyer with banner 🟢 99.6% |
![]() |
![]() |
| classic74 | Dashboard with kpi image 🟢 97.9% |
![]() |
![]() |
| classic75 | Certificate with seal 🟢 99.5% |
![]() |
![]() |
| classic76 | Product image grid 🟢 99.7% |
![]() |
![]() |
| classic77 | News article with hero image 🟢 99.6% |
![]() |
![]() |
| classic78 | Small icon per row 🟢 99.2% |
![]() |
![]() |
| classic79 | Wide panoramic banner 🟢 99.8% |
![]() |
![]() |
| classic80 | Portrait tall image 🟢 99.8% |
![]() |
![]() |
| classic81 | Step by step with images 🟢 99.7% |
![]() |
![]() |
| classic82 | Before after images 🟢 99.4% |
![]() |
![]() |
| classic83 | Color swatch palette 🟢 99.4% |
![]() |
![]() |
| classic84 | Travel destination cards 🟢 99.6% |
![]() |
![]() |
| classic85 | Lab results with image 🟢 99.2% |
![]() |
![]() |
| classic86 | Software screenshot features 🟢 98.7% |
![]() |
![]() |
| classic87 | Sports results with logos 🟢 99.8% |
![]() |
![]() |
| classic88 | Image after data 🟢 99.7% |
![]() |
![]() |
| classic89 | Nutrition label with image 🟢 99.5% |
![]() |
![]() |
| classic90 | Project status with milestones 🟢 99.0% |
![]() |
![]() |
| classic91 | Simple bar chart 🟢 96.6% |
![]() |
![]() |
| classic92 | Horizontal bar chart 🟢 96.9% |
![]() |
![]() |
| classic93 | Line chart 🟢 93.2% |
![]() |
![]() |
| classic94 | Pie chart 🟢 97.2% |
![]() |
![]() |
| classic95 | Area chart 🟡 76.4% |
![]() |
![]() |
| classic96 | Scatter chart 🟢 94.8% |
![]() |
![]() |
| classic97 | Doughnut chart 🟢 97.5% |
![]() |
![]() |
| classic98 | Radar chart 🟢 95.1% |
![]() |
![]() |
| classic99 | Bubble chart 🟢 92.0% |
![]() |
![]() |
| classic100 | Stacked bar chart 🟢 95.0% |
![]() |
![]() |
| classic101 | Percent stacked bar 🟢 93.6% |
![]() |
![]() |
| classic102 | Line chart with markers 🟢 93.0% |
![]() |
![]() |
| classic103 | Pie chart with labels 🟡 86.9% |
![]() |
![]() |
| classic104 | Combo bar line chart 🟡 81.6% |
![]() |
![]() |
| classic105 | 3d bar chart 🟡 85.8% |
![]() |
![]() |
| classic106 | 3d pie chart 🟢 96.7% |
![]() |
![]() |
| classic107 | Multi series line 🟡 80.6% |
![]() |
![]() |
| classic108 | Stacked area chart 🟢 94.4% |
![]() |
![]() |
| classic109 | Scatter with trendline 🟢 92.3% |
![]() |
![]() |
| classic110 | Chart with legend 🟡 84.7% |
![]() |
![]() |
| classic111 | Chart with axis labels 🟢 92.1% |
![]() |
![]() |
| classic112 | Multiple charts 🟡 85.4% |
![]() |
![]() |
| classic113 | Chart sheet 🟡 86.4% |
![]() |
![]() |
| classic114 | Chart large dataset 🟢 91.6% |
![]() |
![]() |
| classic115 | Chart negative values 🟢 92.1% |
![]() |
![]() |
| classic116 | Percent stacked area 🟢 93.8% |
![]() |
![]() |
| classic117 | Stock ohlc chart 🟡 80.9% |
![]() |
![]() |
| classic118 | Bar chart custom colors 🟢 95.5% |
![]() |
![]() |
| classic119 | Dashboard multi charts 🟢 92.1% |
![]() |
![]() |
| classic120 | Chart with date axis 🟡 76.1% |
![]() |
![]() |
| classic121 | Thin borders 🟢 99.7% |
![]() |
![]() |
| classic122 | Thick outer thin inner 🟢 99.6% |
![]() |
![]() |
| classic123 | Dashed borders 🟢 99.1% |
![]() |
![]() |
| classic124 | Colored borders 🟢 99.7% |
![]() |
![]() |
| classic125 | Solid fills 🟢 99.2% |
![]() |
![]() |
| classic126 | Dark header 🟢 99.5% |
![]() |
![]() |
| classic127 | Font styles 🟢 99.6% |
![]() |
![]() |
| classic128 | Font sizes 🟢 99.0% |
![]() |
![]() |
| classic129 | Alignment combos 🟢 99.8% |
![]() |
![]() |
| classic130 | Wrap and indent 🟢 99.5% |
![]() |
![]() |
| classic131 | Number formats 🟢 99.6% |
![]() |
![]() |
| classic132 | Striped table 🟢 99.0% |
![]() |
![]() |
| classic133 | Gradient rows 🟢 99.6% |
![]() |
![]() |
| classic134 | Heatmap 🟢 98.8% |
![]() |
![]() |
| classic135 | Bottom border only 🟢 99.8% |
![]() |
![]() |
| classic136 | Financial report styled 🟢 99.3% |
![]() |
![]() |
| classic137 | Checkerboard 🟢 98.4% |
![]() |
![]() |
| classic138 | Color grid 🟢 99.4% |
![]() |
![]() |
| classic139 | Pattern fills 🟢 99.2% |
![]() |
![]() |
| classic140 | Rotated text 🟢 98.1% |
![]() |
![]() |
| classic141 | Mixed edge borders 🟢 99.7% |
![]() |
![]() |
| classic142 | Styled invoice 🟢 98.3% |
![]() |
![]() |
| classic143 | Colored tabs 🟢 100.0% |
![]() |
![]() |
| classic144 | Note style cells 🟢 99.6% |
![]() |
![]() |
| classic145 | Status badges 🟢 99.1% |
![]() |
![]() |
| classic146 | Double border table 🟢 99.6% |
![]() |
![]() |
| classic147 | Multi sheet styled 🟢 99.7% |
![]() |
![]() |
| classic148 | Frozen styled grid 🟢 97.3% |
![]() |
![]() |
| classic149 | Merged styled sections 🟢 98.7% |
![]() |
![]() |
| classic150 | Kitchen sink styles 🟢 97.5% |
![]() |
![]() |
| classic181 | Feedback tracker with images 🟢 99.4% |
| classic182 | Dense long text columns 🟢 96.5% |
![]() |
![]() |
| classic183 | Mixed content grid 🟢 99.4% |
![]() |
![]() |
| classic184 | Wide narrow columns 🟢 98.4% |
![]() |
![]() |
| classic185 | Tall rows vertical align 🟢 99.7% |
![]() |
![]() |
| classic186 | Multi sheet image report 🟢 99.6% |
![]() |
![]() |
| classic187 | Bug report with screenshots 🟢 98.2% |
![]() |
![]() |
| classic188 | Merged header with images 🟢 99.5% |
![]() |
![]() |
| classic189 | Alternating image text rows 🟢 95.3% |
![]() |
![]() |
| classic190 | Dashboard kpi images 🟢 99.5% |
![]() |
![]() |
| classic191 | Payroll calculator 🟡 89.5% |
![]() |
![]() |
许可证
本项目基于 Apache License 2.0 授权。































































































































































































































































































































































































































































































































































































































































































































































