Skip to content

Commit a2ac41a

Browse files
authored
Merge branch 'main' into feature/sheet-dispose
2 parents c5a34e3 + df097fa commit a2ac41a

240 files changed

Lines changed: 8373 additions & 1780 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@ tab_width = 4
66
indent_style = space
77
insert_final_newline = true
88
trim_trailing_whitespace = true
9-

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "maven" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "daily"

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ Related: #ISSUE
2222

2323
## Checklist
2424

25-
- [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) guide.
25+
- [ ] I have read the [Contributor Guide](https://fast-excel.github.io/fastexcel/community/contribution).
2626
- [ ] I have written the necessary doc or comment.
2727
- [ ] I have added the necessary unit tests and all cases have passed.

.github/workflows/codeql-scan.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: CodeQL Security Scan
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
types: [opened, synchronize, reopened]
10+
schedule:
11+
- cron: '0 0 * * *' # 每天0点自动扫描
12+
13+
jobs:
14+
codeql:
15+
name: CodeQL Analysis
16+
runs-on: ubuntu-latest
17+
permissions:
18+
actions: read
19+
contents: read
20+
security-events: write
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
language: [ 'java' ]
25+
steps:
26+
- name: Checkout repository
27+
uses: actions/checkout@v4
28+
- name: Initialize CodeQL
29+
uses: github/codeql-action/init@v3
30+
with:
31+
languages: ${{ matrix.language }}
32+
- name: Build with Maven
33+
run: mvn clean install -DskipTests
34+
- name: Perform CodeQL Analysis
35+
uses: github/codeql-action/analyze@v3

.github/workflows/deploy-docs.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Deploy Docusaurus to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ] # 或 master,取决于你的默认分支
6+
7+
jobs:
8+
deploy:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
with:
13+
fetch-depth: 0
14+
- uses: actions/setup-node@v3
15+
with:
16+
node-version: 18
17+
- run: cd website && npm install
18+
- run: cd website && npm run build
19+
- uses: peaceiris/actions-gh-pages@v3
20+
with:
21+
github_token: ${{ secrets.DOC_PAT_TOKEN }}
22+
publish_dir: website/build

.github/workflows/markdownlint.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Markdown Lint
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '**/*.md'
7+
push:
8+
paths:
9+
- '**/*.md'
10+
11+
jobs:
12+
markdownlint:
13+
if: github.event_name == 'push' || github.event_name == 'pull_request'
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '20'
23+
24+
- name: Install markdownlint-cli2
25+
run: npm install -g markdownlint-cli2
26+
27+
- name: Run markdownlint
28+
id: lint
29+
run: |
30+
if [ "${{ github.event_name }}" = "pull_request" ]; then
31+
CHANGED_MD=$(git diff --name-only origin/${{ github.event.pull_request.base.ref }}...${{ github.event.pull_request.head.ref }} | grep -E '\.md$' || true)
32+
else
33+
CHANGED_MD=$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | grep -E '\.md$' || true)
34+
fi
35+
if [ -n "$CHANGED_MD" ]; then
36+
markdownlint-cli2 "$CHANGED_MD" --config website/.markdownlint-cli2.jsonc > lint-result.txt || true
37+
if [ -s lint-result.txt ]; then
38+
echo "Lint failed."
39+
# Output non-compliant file contents to comment-body.txt
40+
for file in $CHANGED_MD; do
41+
echo "\n---\n**$file Content:**\n" >> comment-body.txt
42+
echo '\n```markdown' >> comment-body.txt
43+
cat "$file" >> comment-body.txt
44+
echo '\n```' >> comment-body.txt
45+
done
46+
echo "\n---\n**Lint Results:**\n" >> comment-body.txt
47+
cat lint-result.txt >> comment-body.txt
48+
exit 1
49+
fi
50+
else
51+
echo "No markdown files changed, skipping lint."
52+
fi
53+
- name: Create PR comment with lint result
54+
if: failure() && steps.lint.conclusion == 'failure' && github.event_name == 'pull_request'
55+
uses: peter-evans/create-or-update-comment@v4
56+
with:
57+
token: ${{ secrets.GITHUB_TOKEN }}
58+
issue-number: ${{ github.event.pull_request.number }}
59+
body-file: comment-body.txt

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,27 @@ output/
1616
.flattened-pom.xml
1717
dependency-reduced-pom.xml
1818

19+
1920
/.mvn/wrapper/maven-wrapper.jar
21+
22+
# website
23+
.vscode/
24+
website/node_modules
25+
website/build
26+
website/node_modules
27+
website/build
28+
website/.docusaurus
29+
website/.cache-loader
30+
website/.env.local
31+
website/.env.development.local
32+
website/.env.test.local
33+
website/.env.production.local
34+
website/npm-debug.log*
35+
website/yarn-debug.log*
36+
website/yarn-error.log*
37+
website/package-lock.json
38+
website/versioned_docs
39+
website/versioned_sidebars
40+
website/versions.json
41+
website/pnpm-lock.yaml
42+
website/yarn.lock

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 1.1.0
44

5-
此次升级主要修复 [EasyExcel](https://github.com/alibaba/easyexcel) 历史 BUG,同时剔除了部分依赖库,符合 MIT 协议的相关规范。
5+
此次升级主要修复历史 BUG,同时剔除了部分依赖库,符合 MIT 协议的相关规范。
66

77
具体更新内容如下:
88
- 【改进】移除 `itext` 依赖库,将 `转换PDF` 功能迁移至新项目;
@@ -16,7 +16,7 @@
1616
## 1.2.0
1717

1818
此次升级主要内容:
19-
1. 修复[EasyExcel](https://github.com/alibaba/easyexcel) 历史 BUG;
19+
1. 修复历史 BUG;
2020
2. 将项目的开源协议修改为Apache-2.0 license;
2121
3. 修复测试模块中一些无法本地运行的测试用例;
2222
4. 更新并增加相关API文档和说明。

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ FastExcel 欢迎社区的每一位用户和开发者成为贡献者。无论是
5858

5959
### 工作区准备
6060

61-
开发 FastExcel 需要 Java 工具链。目前,开发工具链要求 JDK 21 及以上的版本,但在编码过程中必须使用 JRE 1.8 兼容的语言特性,保证产出的 JAR 包能在 JRE 1.8 及以上版本环境中运行。
61+
开发 FastExcel 需要 **3.8.1及以上版本的Maven****17及以上版本的JDK (Java Development Kit)** 。目前,开发环境推荐 **3.9.0** 及以上版本的Maven和 **21** 及以上的版本Java,但在编译过程中必须使用 **Java 1.8** 兼容的语言特性,保证 FastExcel 能在 Java 1.8 及以上版本环境中运行。
6262

6363
您可以使用 [SDKMAN](https://sdkman.io/) 等工具配置多版本的 Java 工具链。如果使用 IntelliJ IDEA 开发,可以设置项目 [Language Level](https://www.jetbrains.com/help/idea/project-settings-and-structure.html#language-level) 为 8 以确保后向兼容。
6464

0 commit comments

Comments
 (0)