Skip to content

feat(core): support resumable export tasks and improve Excel/CSV import & export - #2869

Closed
liushikuan63 wants to merge 5 commits into
OtterMind:mainfrom
liushikuan63:main
Closed

liushikuan63 wants to merge 5 commits into
OtterMind:mainfrom
liushikuan63:main

Conversation

@liushikuan63

Copy link
Copy Markdown
Contributor

feat(core): support resumable export tasks and improve Excel/CSV import & export

-Add role field to ArtifactDraft to distinguish artifact roles
-Add resumeDraft method to ArtifactService to support resuming interrupted tasks
-Support batch cleanup of multiple interrupted temp files and published files
-Optimize BaseExcelExporter to use ExcelSink for streaming export and append text-truncation warnings
-Enhance BaseExcelImporter with EasyExcel-based column mapping and batch processing
-Add CSVImporter using commons-csv instead of EasyExcel for CSV import
-Decouple CsvDataExporter from EasyExcel, use CsvSink for efficient CSV export
-Add tests to BaseExporter covering GZIP and ZIP compression for multi-table exports
-Declare ClickHouseDBManager's export capability as streaming-only
-Add unit tests covering artifact task resumption and multi-table export interruption

…rt & export

-Add role field to ArtifactDraft to distinguish artifact roles
-Add resumeDraft method to ArtifactService to support resuming interrupted tasks
-Support batch cleanup of multiple interrupted temp files and published files
-Optimize BaseExcelExporter to use ExcelSink for streaming export and append text-truncation warnings
-Enhance BaseExcelImporter with EasyExcel-based column mapping and batch processing
-Add CSVImporter using commons-csv instead of EasyExcel for CSV import
-Decouple CsvDataExporter from EasyExcel, use CsvSink for efficient CSV export
-Add tests to BaseExporter covering GZIP and ZIP compression for multi-table exports
-Declare ClickHouseDBManager's export capability as streaming-only
-Add unit tests covering artifact task resumption and multi-table export interruption
@Override
public ImportPreview previewImport(ImportTaskSpec spec) {
java.io.File source = new java.io.File(StringUtils.defaultString(spec.getSourceFile()));
if (!source.isFile() || !source.canRead()) {
@Override
public ImportPreview previewImport(ImportTaskSpec spec) {
java.io.File source = new java.io.File(StringUtils.defaultString(spec.getSourceFile()));
if (!source.isFile() || !source.canRead()) {
if (StringUtils.isNotBlank(requested)) {
return requested.trim().charAt(0);
}
try (Reader reader = new InputStreamReader(Files.newInputStream(file.toPath()), charset)) {
@liushikuan63 liushikuan63 reopened this Sep 3, 2026
@openai0229 openai0229 moved this from In Review to Done in Chat2DB Community Sep 3, 2026
@liushikuan63
liushikuan63 marked this pull request as draft September 3, 2026 17:04
@liushikuan63
liushikuan63 marked this pull request as ready for review September 3, 2026 17:04
@openai0229 openai0229 moved this from Done to In Review in Chat2DB Community Sep 3, 2026
@openai0229 openai0229 moved this from In Review to Done in Chat2DB Community Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants