refactor: update project's link. (#248)
This commit is contained in:
parent
0a9720a9d1
commit
48a8c2b362
@ -6,7 +6,7 @@ FastExcel 欢迎社区的每一位用户和开发者成为贡献者。无论是
|
|||||||
|
|
||||||
## 报告问题
|
## 报告问题
|
||||||
|
|
||||||
我们鼓励用户在使用 FastExcel 的过程中随时提供反馈。您可以通过 [NEW ISSUE](https://github.com/CodePhiliaX/fastexcel/issues/new/choose) 提交问题。
|
我们鼓励用户在使用 FastExcel 的过程中随时提供反馈。您可以通过 [NEW ISSUE](https://github.com/fast-excel/fastexcel/issues/new/choose) 提交问题。
|
||||||
|
|
||||||
### 高质量问题报告
|
### 高质量问题报告
|
||||||
|
|
||||||
@ -55,14 +55,14 @@ FastExcel 欢迎社区的每一位用户和开发者成为贡献者。无论是
|
|||||||
### 工作区准备
|
### 工作区准备
|
||||||
|
|
||||||
确保您已注册 GitHub 账号,并按照以下步骤完成本地开发环境配置:
|
确保您已注册 GitHub 账号,并按照以下步骤完成本地开发环境配置:
|
||||||
1. **Fork 仓库**:在 FastExcel 的 [GitHub 页面](https://github.com/CodePhiliaX/fastexcel) 点击 `Fork` 按钮,将项目复制到您的 GitHub 账户下,例如:`https://github.com/<your-username>/fastexcel`。
|
1. **Fork 仓库**:在 FastExcel 的 [GitHub 页面](https://github.com/fast-excel/fastexcel) 点击 `Fork` 按钮,将项目复制到您的 GitHub 账户下,例如:`https://github.com/<your-username>/fastexcel`。
|
||||||
2. **克隆代码库**:运行以下命令将 Fork 的项目克隆到本地:
|
2. **克隆代码库**:运行以下命令将 Fork 的项目克隆到本地:
|
||||||
```bash
|
```bash
|
||||||
git clone git@github.com:<your-username>/fastexcel.git
|
git clone git@github.com:<your-username>/fastexcel.git
|
||||||
```
|
```
|
||||||
3. **设置上游仓库**:将官方仓库设置为 `upstream`,方便同步更新:
|
3. **设置上游仓库**:将官方仓库设置为 `upstream`,方便同步更新:
|
||||||
```bash
|
```bash
|
||||||
git remote add upstream git@github.com:CodePhiliaX/fastexcel.git
|
git remote add upstream git@github.com:fast-excel/fastexcel.git
|
||||||
git remote set-url --push upstream no-pushing
|
git remote set-url --push upstream no-pushing
|
||||||
```
|
```
|
||||||
运行 `git remote -v` 可检查配置是否正确。
|
运行 `git remote -v` 可检查配置是否正确。
|
||||||
|
@ -174,7 +174,7 @@ public class ExcelAnalyserImpl implements ExcelAnalyser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// close csv.
|
// close csv.
|
||||||
// https://github.com/CodePhiliaX/fastexcel/issues/2309
|
// https://github.com/fast-excel/fastexcel/issues/2309
|
||||||
try {
|
try {
|
||||||
if ((readWorkbookHolder instanceof CsvReadWorkbookHolder)
|
if ((readWorkbookHolder instanceof CsvReadWorkbookHolder)
|
||||||
&& ((CsvReadWorkbookHolder) readWorkbookHolder).getCsvParser() != null
|
&& ((CsvReadWorkbookHolder) readWorkbookHolder).getCsvParser() != null
|
||||||
|
@ -34,7 +34,7 @@ public class DummyRecordHandler extends AbstractXlsRecordHandler implements Igno
|
|||||||
xlsReadSheetHolder.setTempRowType(RowTypeEnum.EMPTY);
|
xlsReadSheetHolder.setTempRowType(RowTypeEnum.EMPTY);
|
||||||
} else if (record instanceof MissingCellDummyRecord) {
|
} else if (record instanceof MissingCellDummyRecord) {
|
||||||
MissingCellDummyRecord mcdr = (MissingCellDummyRecord)record;
|
MissingCellDummyRecord mcdr = (MissingCellDummyRecord)record;
|
||||||
// https://github.com/CodePhiliaX/fastexcel/issues/2236
|
// https://github.com/fast-excel/fastexcel/issues/2236
|
||||||
// Some abnormal XLS, in the case of data already exist, or there will be a "MissingCellDummyRecord"
|
// Some abnormal XLS, in the case of data already exist, or there will be a "MissingCellDummyRecord"
|
||||||
// records, so if the existing data, empty data is ignored
|
// records, so if the existing data, empty data is ignored
|
||||||
xlsReadSheetHolder.getCellMap().putIfAbsent(mcdr.getColumn(),
|
xlsReadSheetHolder.getCellMap().putIfAbsent(mcdr.getColumn(),
|
||||||
|
@ -69,7 +69,7 @@ public class ModelBuildEventListener implements IgnoreExceptionReadListener<Map<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// fix https://github.com/CodePhiliaX/fastexcel/issues/2014
|
// fix https://github.com/fast-excel/fastexcel/issues/2014
|
||||||
int headSize = calculateHeadSize(readSheetHolder);
|
int headSize = calculateHeadSize(readSheetHolder);
|
||||||
while (index < headSize) {
|
while (index < headSize) {
|
||||||
map.put(index, null);
|
map.put(index, null);
|
||||||
|
@ -62,7 +62,7 @@ public class ReadSheetHolder extends AbstractReadHolder {
|
|||||||
private ReadCellData<?> tempCellData;
|
private ReadCellData<?> tempCellData;
|
||||||
/**
|
/**
|
||||||
* Read the size of the largest head in sheet head data.
|
* Read the size of the largest head in sheet head data.
|
||||||
* see https://github.com/CodePhiliaX/fastexcel/issues/2014
|
* see https://github.com/fast-excel/fastexcel/issues/2014
|
||||||
*/
|
*/
|
||||||
private Integer maxNotEmptyDataHeadSize;
|
private Integer maxNotEmptyDataHeadSize;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ public class BeanMapUtils {
|
|||||||
* <code>BeanMap.Generator</code> instead of this static method.
|
* <code>BeanMap.Generator</code> instead of this static method.
|
||||||
*
|
*
|
||||||
* Custom naming policy to prevent null pointer exceptions.
|
* Custom naming policy to prevent null pointer exceptions.
|
||||||
* see: https://github.com/CodePhiliaX/fastexcel/issues/2064
|
* see: https://github.com/fast-excel/fastexcel/issues/2064
|
||||||
*
|
*
|
||||||
* @param bean the JavaBean underlying the map
|
* @param bean the JavaBean underlying the map
|
||||||
* @return a new <code>BeanMap</code> instance
|
* @return a new <code>BeanMap</code> instance
|
||||||
|
@ -102,7 +102,7 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor {
|
|||||||
if (dataIndex >= oneRowData.size()) {
|
if (dataIndex >= oneRowData.size()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// fix https://github.com/CodePhiliaX/fastexcel/issues/1702
|
// fix https://github.com/fast-excel/fastexcel/issues/1702
|
||||||
// If there is data, it is written to the next cell
|
// If there is data, it is written to the next cell
|
||||||
maxCellIndex++;
|
maxCellIndex++;
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor {
|
|||||||
writeContext, row, rowIndex, null, maxCellIndex, relativeRowIndex, Boolean.FALSE, excelContentProperty);
|
writeContext, row, rowIndex, null, maxCellIndex, relativeRowIndex, Boolean.FALSE, excelContentProperty);
|
||||||
WriteHandlerUtils.beforeCellCreate(cellWriteHandlerContext);
|
WriteHandlerUtils.beforeCellCreate(cellWriteHandlerContext);
|
||||||
|
|
||||||
// fix https://github.com/CodePhiliaX/fastexcel/issues/1870
|
// fix https://github.com/fast-excel/fastexcel/issues/1870
|
||||||
// If there is data, it is written to the next cell
|
// If there is data, it is written to the next cell
|
||||||
Cell cell = WorkBookUtil.createCell(row, maxCellIndex);
|
Cell cell = WorkBookUtil.createCell(row, maxCellIndex);
|
||||||
cellWriteHandlerContext.setCell(cell);
|
cellWriteHandlerContext.setCell(cell);
|
||||||
|
@ -428,7 +428,7 @@ public class ExcelWriteFillExecutor extends AbstractExcelWriteExecutor {
|
|||||||
if (!analysisCell.getFirstRow() || !WriteDirectionEnum.VERTICAL.equals(fillConfig.getDirection())) {
|
if (!analysisCell.getFirstRow() || !WriteDirectionEnum.VERTICAL.equals(fillConfig.getDirection())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// fix https://github.com/CodePhiliaX/fastexcel/issues/1869
|
// fix https://github.com/fast-excel/fastexcel/issues/1869
|
||||||
if (isOriginalCell && PoiUtils.customHeight(row)) {
|
if (isOriginalCell && PoiUtils.customHeight(row)) {
|
||||||
collectionRowHeightCache.put(currentUniqueDataFlag, row.getHeight());
|
collectionRowHeightCache.put(currentUniqueDataFlag, row.getHeight());
|
||||||
return;
|
return;
|
||||||
@ -538,7 +538,7 @@ public class ExcelWriteFillExecutor extends AbstractExcelWriteExecutor {
|
|||||||
analysisCell.getVariableList().add(variable);
|
analysisCell.getVariableList().add(variable);
|
||||||
if (lastPrepareDataIndex == prefixIndex) {
|
if (lastPrepareDataIndex == prefixIndex) {
|
||||||
analysisCell.getPrepareDataList().add(StringUtils.EMPTY);
|
analysisCell.getPrepareDataList().add(StringUtils.EMPTY);
|
||||||
// fix https://github.com/CodePhiliaX/fastexcel/issues/2035
|
// fix https://github.com/fast-excel/fastexcel/issues/2035
|
||||||
if (lastPrepareDataIndex != 0) {
|
if (lastPrepareDataIndex != 0) {
|
||||||
analysisCell.setOnlyOneVariable(Boolean.FALSE);
|
analysisCell.setOnlyOneVariable(Boolean.FALSE);
|
||||||
}
|
}
|
||||||
@ -550,7 +550,7 @@ public class ExcelWriteFillExecutor extends AbstractExcelWriteExecutor {
|
|||||||
}
|
}
|
||||||
lastPrepareDataIndex = suffixIndex + 1;
|
lastPrepareDataIndex = suffixIndex + 1;
|
||||||
}
|
}
|
||||||
// fix https://github.com/CodePhiliaX/fastexcel/issues/1552
|
// fix https://github.com/fast-excel/fastexcel/issues/1552
|
||||||
// When read template, XLSX data may be in `is` labels, and set the time set in `v` label, lead to can't set
|
// When read template, XLSX data may be in `is` labels, and set the time set in `v` label, lead to can't set
|
||||||
// up successfully, so all data format to empty first.
|
// up successfully, so all data format to empty first.
|
||||||
if (analysisCell != null && CollectionUtils.isNotEmpty(analysisCell.getVariableList())) {
|
if (analysisCell != null && CollectionUtils.isNotEmpty(analysisCell.getVariableList())) {
|
||||||
|
@ -19,7 +19,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
|||||||
/**
|
/**
|
||||||
* Handle the problem of unable to write dimension.
|
* Handle the problem of unable to write dimension.
|
||||||
*
|
*
|
||||||
* https://github.com/CodePhiliaX/fastexcel/issues/1282
|
* https://github.com/fast-excel/fastexcel/issues/1282
|
||||||
*
|
*
|
||||||
* @author Jiaju Zhuang
|
* @author Jiaju Zhuang
|
||||||
*/
|
*/
|
||||||
|
@ -32,7 +32,7 @@ public class CompatibilityTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void t01() {
|
public void t01() {
|
||||||
// https://github.com/CodePhiliaX/fastexcel/issues/2236
|
// https://github.com/fast-excel/fastexcel/issues/2236
|
||||||
List<Map<Integer, Object>> list = EasyExcel.read(TestFileUtil.getPath() + "compatibility/t01.xls").sheet()
|
List<Map<Integer, Object>> list = EasyExcel.read(TestFileUtil.getPath() + "compatibility/t01.xls").sheet()
|
||||||
.doReadSync();
|
.doReadSync();
|
||||||
Assertions.assertEquals(2, list.size());
|
Assertions.assertEquals(2, list.size());
|
||||||
@ -75,7 +75,7 @@ public class CompatibilityTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void t05() {
|
public void t05() {
|
||||||
// https://github.com/CodePhiliaX/fastexcel/issues/1956
|
// https://github.com/fast-excel/fastexcel/issues/1956
|
||||||
// Excel read date needs to be rounded
|
// Excel read date needs to be rounded
|
||||||
List<Map<Integer, String>> list = EasyExcel
|
List<Map<Integer, String>> list = EasyExcel
|
||||||
.read(TestFileUtil.getPath() + "compatibility/t05.xlsx")
|
.read(TestFileUtil.getPath() + "compatibility/t05.xlsx")
|
||||||
@ -103,7 +103,7 @@ public class CompatibilityTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void t07() {
|
public void t07() {
|
||||||
// https://github.com/CodePhiliaX/fastexcel/issues/2805
|
// https://github.com/fast-excel/fastexcel/issues/2805
|
||||||
// Excel read date needs to be rounded
|
// Excel read date needs to be rounded
|
||||||
List<Map<Integer, Object>> list = EasyExcel
|
List<Map<Integer, Object>> list = EasyExcel
|
||||||
.read(TestFileUtil.getPath() + "compatibility/t07.xlsx")
|
.read(TestFileUtil.getPath() + "compatibility/t07.xlsx")
|
||||||
@ -123,7 +123,7 @@ public class CompatibilityTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void t08() {
|
public void t08() {
|
||||||
// https://github.com/CodePhiliaX/fastexcel/issues/2693
|
// https://github.com/fast-excel/fastexcel/issues/2693
|
||||||
// Temporary files may be deleted if there is no operation for a long time, so they need to be recreated.
|
// Temporary files may be deleted if there is no operation for a long time, so they need to be recreated.
|
||||||
File file = TestFileUtil.createNewFile("compatibility/t08.xlsx");
|
File file = TestFileUtil.createNewFile("compatibility/t08.xlsx");
|
||||||
EasyExcel.write(file, SimpleData.class)
|
EasyExcel.write(file, SimpleData.class)
|
||||||
|
@ -11,7 +11,7 @@ import org.apache.poi.ss.usermodel.CreationHelper;
|
|||||||
import org.apache.poi.ss.usermodel.Hyperlink;
|
import org.apache.poi.ss.usermodel.Hyperlink;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义拦截器。对第一行第一列的头超链接到:https://github.com/CodePhiliaX/fastexcel
|
* 自定义拦截器。对第一行第一列的头超链接到:https://github.com/fast-excel/fastexcel
|
||||||
*
|
*
|
||||||
* @author Jiaju Zhuang
|
* @author Jiaju Zhuang
|
||||||
*/
|
*/
|
||||||
@ -26,7 +26,7 @@ public class CustomCellWriteHandler implements CellWriteHandler {
|
|||||||
if (BooleanUtils.isTrue(context.getHead()) && cell.getColumnIndex() == 0) {
|
if (BooleanUtils.isTrue(context.getHead()) && cell.getColumnIndex() == 0) {
|
||||||
CreationHelper createHelper = context.getWriteSheetHolder().getSheet().getWorkbook().getCreationHelper();
|
CreationHelper createHelper = context.getWriteSheetHolder().getSheet().getWorkbook().getCreationHelper();
|
||||||
Hyperlink hyperlink = createHelper.createHyperlink(HyperlinkType.URL);
|
Hyperlink hyperlink = createHelper.createHyperlink(HyperlinkType.URL);
|
||||||
hyperlink.setAddress("https://github.com/CodePhiliaX/fastexcel");
|
hyperlink.setAddress("https://github.com/fast-excel/fastexcel");
|
||||||
cell.setHyperlink(hyperlink);
|
cell.setHyperlink(hyperlink);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -255,7 +255,7 @@ public class WriteTest {
|
|||||||
imageDemoData.setString(imagePath);
|
imageDemoData.setString(imagePath);
|
||||||
imageDemoData.setInputStream(inputStream);
|
imageDemoData.setInputStream(inputStream);
|
||||||
imageDemoData.setUrl(new URL(
|
imageDemoData.setUrl(new URL(
|
||||||
"https://raw.githubusercontent.com/CodePhiliaX/fastexcel/master/src/test/resources/converter/img.jpg"));
|
"https://raw.githubusercontent.com/fast-excel/fastexcel/master/src/test/resources/converter/img.jpg"));
|
||||||
|
|
||||||
// 这里演示
|
// 这里演示
|
||||||
// 需要额外放入文字
|
// 需要额外放入文字
|
||||||
@ -328,7 +328,7 @@ public class WriteTest {
|
|||||||
writeCellDemoData.setHyperlink(hyperlink);
|
writeCellDemoData.setHyperlink(hyperlink);
|
||||||
HyperlinkData hyperlinkData = new HyperlinkData();
|
HyperlinkData hyperlinkData = new HyperlinkData();
|
||||||
hyperlink.setHyperlinkData(hyperlinkData);
|
hyperlink.setHyperlinkData(hyperlinkData);
|
||||||
hyperlinkData.setAddress("https://github.com/CodePhiliaX/fastexcel");
|
hyperlinkData.setAddress("https://github.com/fast-excel/fastexcel");
|
||||||
hyperlinkData.setHyperlinkType(HyperlinkData.HyperlinkType.URL);
|
hyperlinkData.setHyperlinkType(HyperlinkData.HyperlinkType.URL);
|
||||||
|
|
||||||
// 设置备注
|
// 设置备注
|
||||||
@ -640,7 +640,7 @@ public class WriteTest {
|
|||||||
/**
|
/**
|
||||||
* 下拉,超链接等自定义拦截器(上面几点都不符合但是要对单元格进行操作的参照这个)
|
* 下拉,超链接等自定义拦截器(上面几点都不符合但是要对单元格进行操作的参照这个)
|
||||||
* <p>
|
* <p>
|
||||||
* demo这里实现2点。1. 对第一行第一列的头超链接到:https://github.com/CodePhiliaX/fastexcel 2. 对第一列第一行和第二行的数据新增下拉框,显示 测试1 测试2
|
* demo这里实现2点。1. 对第一行第一列的头超链接到:https://github.com/fast-excel/fastexcel 2. 对第一列第一行和第二行的数据新增下拉框,显示 测试1 测试2
|
||||||
* <p>
|
* <p>
|
||||||
* 1. 创建excel对应的实体对象 参照{@link DemoData}
|
* 1. 创建excel对应的实体对象 参照{@link DemoData}
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -17,7 +17,7 @@ import org.junit.jupiter.api.Test;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class Issue2443Test {
|
public class Issue2443Test {
|
||||||
//CS304 (manually written) Issue link: https://github.com/CodePhiliaX/fastexcel/issues/2443
|
//CS304 (manually written) Issue link: https://github.com/fast-excel/fastexcel/issues/2443
|
||||||
@Test
|
@Test
|
||||||
public void IssueTest1() {
|
public void IssueTest1() {
|
||||||
String fileName = TestFileUtil.getPath() + "temp/issue2443" + File.separator + "date1.xlsx";
|
String fileName = TestFileUtil.getPath() + "temp/issue2443" + File.separator + "date1.xlsx";
|
||||||
@ -28,7 +28,7 @@ public class Issue2443Test {
|
|||||||
})).sheet().doRead();
|
})).sheet().doRead();
|
||||||
}
|
}
|
||||||
|
|
||||||
//CS304 (manually written) Issue link: https://github.com/CodePhiliaX/fastexcel/issues/2443
|
//CS304 (manually written) Issue link: https://github.com/fast-excel/fastexcel/issues/2443
|
||||||
@Test
|
@Test
|
||||||
public void IssueTest2() {
|
public void IssueTest2() {
|
||||||
String fileName = TestFileUtil.getPath() + "temp/issue2443" + File.separator + "date2.xlsx";
|
String fileName = TestFileUtil.getPath() + "temp/issue2443" + File.separator + "date2.xlsx";
|
||||||
|
2
pom.xml
2
pom.xml
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
<name>fastexcel-parent</name>
|
<name>fastexcel-parent</name>
|
||||||
<description>Fastexcel is an Excel handle tools written in Java</description>
|
<description>Fastexcel is an Excel handle tools written in Java</description>
|
||||||
<url>https://github.com/CodePhiliaX/fastexcel</url>
|
<url>https://github.com/fast-excel/fastexcel</url>
|
||||||
<inceptionYear>2024</inceptionYear>
|
<inceptionYear>2024</inceptionYear>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user