Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite76fd45

Browse files
added column separator option for downloaded table's csv
1 parenta739e2e commite76fd45

File tree

7 files changed

+23
-4
lines changed

7 files changed

+23
-4
lines changed

‎client/packages/lowcoder/src/comps/comps/tableComp/tableComp.tsx‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ export class TableImplComp extends TableInitComp implements IContainer {
9797
data:(thisasany).exposingValues["displayData"],
9898
filename:fileName,
9999
fileType:"csv",
100+
delimiter:this.children.toolbar.children.columnSeparator.getView(),
100101
});
101102
}
102103

‎client/packages/lowcoder/src/comps/comps/tableComp/tableToolbarComp.tsx‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { BoolControl } from "comps/controls/boolControl";
88
import{StringControl}from"comps/controls/codeControl";
99
import{dropdownControl}from"comps/controls/dropdownControl";
1010
import{TableToolbarStyleType}from"comps/controls/styleControlConstants";
11-
import{stateComp}from"comps/generators";
11+
import{stateComp,withDefault}from"comps/generators";
1212
import{genRandomKey}from"comps/utils/idGenerator";
1313
import{ThemeContext}from"comps/utils/themeContext";
1414
import{trans}from"i18n";
@@ -560,6 +560,7 @@ export const TableToolbarComp = (function () {
560560
// searchText: StringControl,
561561
filter:stateComp<TableFilter>({stackType:"and",filters:[]}),
562562
position:dropdownControl(positionOptions,"below"),
563+
columnSeparator:withDefault(StringControl,','),
563564
};
564565

565566
returnnewControlNodeCompBuilder(childrenMap,(props,dispatch)=>{
@@ -588,6 +589,10 @@ export const TableToolbarComp = (function () {
588589
children.showFilter.propertyView({label:trans("table.showFilter")}),
589590
children.showRefresh.propertyView({label:trans("table.showRefresh")}),
590591
children.showDownload.propertyView({label:trans("table.showDownload")}),
592+
children.showDownload.getView()&&children.columnSeparator.propertyView({
593+
label:trans("table.columnSeparator"),
594+
tooltip:trans("table.columnSeparatorTooltip"),
595+
}),
591596
children.columnSetting.propertyView({label:trans("table.columnSetting")}),
592597
/* children.searchText.propertyView({
593598
label: trans("table.searchText"),

‎client/packages/lowcoder/src/i18n/locales/de.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,6 +1381,8 @@ export const de: typeof en = {
13811381
"showFilter":"Schaltfläche Filter anzeigen",
13821382
"showRefresh":"Schaltfläche \"Aktualisieren\" anzeigen",
13831383
"showDownload":"Download-Schaltfläche anzeigen",
1384+
"columnSeparator":"Spaltentrennzeichen",
1385+
"columnSeparatorTooltip":"Spaltentrennzeichen („Trennzeichen“) in der heruntergeladenen CSV-Datei. \n\nEmpfehlungen:\n- Komma (,)\n- Semikolon (;)\n- Pipe (|)\n- Tabulator (\\t)",
13841386
"columnSetting":"Schaltfläche Spalteneinstellung anzeigen",
13851387
"searchText":"Text suchen",
13861388
"searchTextTooltip":"Suche und Filterung der in der Tabelle dargestellten Daten",

‎client/packages/lowcoder/src/i18n/locales/en.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1836,6 +1836,8 @@ export const en = {
18361836
"showFilter":"Show Filter Button",
18371837
"showRefresh":"Show Refresh Button",
18381838
"showDownload":"Show Download Button",
1839+
"columnSeparator":"Column Separator",
1840+
"columnSeparatorTooltip":"Column Separator (\"delimiter\") in downloaded CSV file. \n\nRecommendations:\n- Comma (,)\n- Semicolon (;)\n- Pipe (|)\n- Tab (\\t)",
18391841
"columnSetting":"Show Column Setting Button",
18401842
"searchText":"Search Text",
18411843
"searchTextTooltip":"Search and Filter the Data Presented in the Table",

‎client/packages/lowcoder/src/i18n/locales/pt.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1903,6 +1903,8 @@ export const pt: typeof en = {
19031903
"showFilter":"Mostrar Botão de Filtro",
19041904
"showRefresh":"Mostrar Botão de Atualização",
19051905
"showDownload":"Mostrar Botão de Download",
1906+
"columnSeparator":"Separador de colunas",
1907+
"columnSeparatorTooltip":"Separador de colunas (\"delimitador\") no arquivo CSV baixado. \n\nRecomendações:\n- Vírgula (,)\n- Ponto e vírgula (;)\n- Barra vertical (|)\n- Tabulação (\\t)",
19061908
"columnSetting":"Mostrar Botão de Configuração de Coluna",
19071909
"searchText":"Texto de Busca",
19081910
"searchTextTooltip":"Pesquisar e filtrar os dados apresentados na tabela",

‎client/packages/lowcoder/src/i18n/locales/zh.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,6 +1403,8 @@ export const zh: typeof en = {
14031403
showFilter:"显示筛选按钮",
14041404
showRefresh:"显示刷新按钮",
14051405
showDownload:"显示下载按钮",
1406+
columnSeparator:"柱分离器",
1407+
columnSeparatorTooltip:"下载的 CSV 文件中的列分隔符(\“分隔符\”)。 \n\n建议:\n- 逗号 (,)\n- 分号 (;)\n- 竖线 (|)\n- 制表符 (\\t)",
14061408
columnSetting:"显示列设置按钮",
14071409
searchText:"搜索文本",
14081410
searchTextTooltip:"搜索和筛选在表格中呈现的数据",

‎client/packages/lowcoder/src/util/fileUtils.ts‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@ interface SaveDataAsFileParams {
3131
filename:string;
3232
fileType:"empty"|"txt"|"json"|"csv"|"xlsx"|string;
3333
dataType?:"url"|"base64";
34+
delimiter?:string;
3435
}
3536

36-
exportasyncfunctionsaveDataAsFile({ data, filename, fileType, dataType}:SaveDataAsFileParams){
37+
exportasyncfunctionsaveDataAsFile({ data, filename, fileType, dataType, delimiter}:SaveDataAsFileParams){
3738
if(dataType==="url"){
3839
returnsaveAs(data,filename,{autoBom:true});
3940
}
@@ -72,11 +73,15 @@ export async function saveDataAsFile({ data, filename, fileType, dataType }: Sav
7273
}else{
7374
wb=XLSX.read(data,{type:"string"});
7475
}
75-
blobData=XLSX.write(wb,{
76+
letwriteOptions:any={
7677
bookType:finalFileType,
7778
bookSST:false,// whether to generate Shared String Table? setting true will slow down the generating speed, but more compatible for lower versioned iOS devices
7879
type:"buffer",
79-
});
80+
}
81+
if(finalFileType==='csv'&&delimiter){
82+
writeOptions['FS']=delimiter;
83+
}
84+
blobData=XLSX.write(wb,writeOptions);
8085
break;
8186
}
8287
constblob=newBlob([blobData],{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp