---
type: release
title: "考试助手：单文件离线题库检索工具"
date: 2026-07-20 21:29:16 +0800
tags: [exam-helper, question-bank-tool, single-file-app, html, javascript, open-source]
linkUrl: https://github.com/wang-junjian/exam-helper
---

考试助手（exam-helper）是一个单文件 HTML 应用，用于本地加载 Excel/CSV 题库并快速检索、查看答案。它无需服务器、无需联网，打开即用。

## 核心特性

- **单文件离线使用**：构建产物只有一个 `exam-helper.html`，双击即可在浏览器中运行。
- **自动递归加载目录**：选择包含题库文件的文件夹后，自动读取 `.xls`、`.xlsx`、`.csv` 及子目录中的文件。
- **多种检索方式**：
  - 中文关键字
  - 全拼，如 `anquan`
  - 拼音首字母，如 `aq`
  - 英文缩写（大写），如 `GDW`
  - 空格分隔表示“且”关系
- **自适应展示**：响应式网格布局，宽屏一行多个卡片；每页固定 10 行，根据列数自动计算题数。
- **答案高亮**：单选题、多选题的正确选项自动标绿，判断题、简答题直接显示答案。
- **备注醒目**：备注信息以红色加粗显示，重要提示一目了然。

## 快速开始

```bash
npm install
npm run build
```

构建完成后，用浏览器打开生成的 `exam-helper.html`，点击「选择题库目录」并选中题库文件夹，即可在搜索框中实时检索题目。

> 首次使用必须手动选择一次目录，后续打开会自动使用浏览器缓存的题库数据。

## 题库格式

题库文件使用 Excel 工作表，第一行为表头，必须包含以下列：

| 列名 | 说明 |
|------|------|
| 序号 | 题目序号 |
| 一级纲要 | 题目所属章节/分类 |
| 二级纲要 | 二级分类（可留空） |
| 题目分类 | 题库分类，如“专业题库” |
| 题型 | 单选题 / 多选题 / 判断题 / 简答题 |
| 题干 | 题目内容 |
| 选项 | 用 `|` 分隔，如 `A-选项1|B-选项2|C-选项3|D-选项4` |
| 答案 | 单选题填 A/B/C/D；多选题填 ABCD 等；判断题填 A/B 或 正确/错误；简答题可填写完整答案 |
| 题目依据 | 出处/标准（可选） |
| 试题分数 | 分值（可选） |
| 试题编码 | 编码（可选） |
| 备注 | 备注信息，会红色加粗显示（可选） |
| 说明 | 其他说明（可选） |
| 判断题解析 | 判断题解析（可选） |

项目已提供示例模板 `templates/question-bank-template.xlsx`，包含单选、多选、判断、简答四种题型的科普样例，可直接参考。

## 项目结构

- `src/exam-helper-template.html`：应用源码模板。
- `scripts/build.js`：将 SheetJS、拼音库内联到 HTML 中，生成最终 `exam-helper.html`。
- `scripts/generate-template.js`：生成示例题库模板。
- `docs/`：架构、设计决策、踩坑经验与扩展指南。

## 开源许可

MIT License
