This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git
The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
new 72e91f5cc Result csv download export support custom separator (#4300)
72e91f5cc is described below
commit 72e91f5cc8efb36c9d59b903377da75872d1bdad
Author: Casion <[email protected]>
AuthorDate: Mon Mar 6 11:40:37 2023 +0800
Result csv download export support custom separator (#4300)
* support custom separator
* Result csv download export support custom separator
---
.../org/apache/linkis/storage/csv/StorageCSVWriter.scala | 5 ++++-
.../apache/linkis/filesystem/restful/api/FsRestfulApi.java | 12 +++++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git
a/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
b/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
index 5fa9cde25..f9b811b6a 100644
---
a/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
+++
b/linkis-commons/linkis-storage/src/main/scala/org/apache/linkis/storage/csv/StorageCSVWriter.scala
@@ -36,7 +36,7 @@ class StorageCSVWriter(
with Logging {
private val delimiter = separator match {
- case "," => ','
+ case separ if StringUtils.isNotEmpty(separ) => separ
case _ => '\t'
}
@@ -58,6 +58,9 @@ class StorageCSVWriter(
} else v
}
}
+ if (logger.isDebugEnabled()) {
+ logger.debug("delimiter:" + delimiter.toString)
+ }
row.map(x => decorateValue(x)).toList.mkString(delimiter.toString) + "\n"
}
diff --git
a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
index 91a8323db..dd6957308 100644
---
a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
+++
b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
@@ -692,6 +692,7 @@ public class FsRestfulApi {
@RequestParam(value = "charset", defaultValue = "utf-8") String charset,
@RequestParam(value = "outputFileType", defaultValue = "csv") String
outputFileType,
@RequestParam(value = "csvSeperator", defaultValue = ",") String
csvSeperator,
+ @RequestParam(value = "csvSeparator", defaultValue = ",") String
csvSeparator,
@RequestParam(value = "quoteRetouchEnable", required = false) boolean
quoteRetouchEnable,
@RequestParam(value = "outputFileName", defaultValue =
"downloadResultset")
String outputFileName,
@@ -704,6 +705,15 @@ public class FsRestfulApi {
FsWriter fsWriter = null;
PrintWriter writer = null;
FileSource fileSource = null;
+ if (csvSeparator.equals(",") && !csvSeperator.equals(",")) {
+ csvSeparator = csvSeperator;
+ }
+ LOGGER.info(
+ "resultsetToExcel with outputFileType:{}, csvSeparator:{},
quoteRetouchEnable:{}, charset:{}",
+ outputFileType,
+ csvSeparator,
+ quoteRetouchEnable,
+ charset);
try {
String userName = ModuleUserUtils.getOperationUser(req,
"resultsetToExcel " + path);
FsPath fsPath = new FsPath(path);
@@ -737,7 +747,7 @@ public class FsRestfulApi {
case "csv":
if (FileSource$.MODULE$.isTableResultSet(fileSource)) {
fsWriter =
- CSVFsWriter.getCSVFSWriter(charset, csvSeperator,
quoteRetouchEnable, outputStream);
+ CSVFsWriter.getCSVFSWriter(charset, csvSeparator,
quoteRetouchEnable, outputStream);
} else {
fsWriter =
ScriptFsWriter.getScriptFsWriter(new FsPath(outputFileType),
charset, outputStream);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]