提交 90e3f2f3 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #1738 from AndrewKhitrin/excelpoi

Excelpoi

Former-commit-id: daab08a4
......@@ -35,5 +35,4 @@
<plugin id="org.jkiss.dbeaver.ext.sqlite" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jkiss.dbeaver.ext.teradata" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.jkiss.dbeaver.ext.vertica" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
</feature>
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="org.jkiss.dbeaver.ext.office.feature"
label="%featureName"
version="1.0.0"
plugin="org.jkiss.dbeaver.data.office">
<description>
%description
</description>
<copyright>
%copyright
</copyright>
<license url="%licenseURL">
%license
</license>
<requires>
<import plugin="org.jkiss.dbeaver.core"/>
</requires>
<plugin
id="org.jkiss.dbeaver.data.office"
download-size="0"
install-size="0"
version="1.0.0"
unpack="false"/>
<plugin id="org.apache.commons.collections4" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.apache.commons.codec" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.apache.xmlbeans" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.apache.servicemix.bundles.poi" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.dom4j" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
id="org.jkiss.dbeaver.ext.office.feature"
label="%featureName"
version="1.0.0"
provider-name="%providerName"
plugin="org.jkiss.dbeaver.data.office">
<description>
%description
</description>
<copyright>
%copyright
</copyright>
<license url="%licenseURL">
%license
</license>
<requires>
<import plugin="org.jkiss.dbeaver.core"/>
<import plugin="org.jkiss.dbeaver.model"/>
<import plugin="org.eclipse.swt"/>
<import plugin="org.eclipse.jface"/>
<import plugin="org.eclipse.ui.workbench"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.dom4j" version="1.6.1" match="greaterOrEqual"/>
<import plugin="org.apache.commons.codec" version="1.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi"/>
<import plugin="org.apache.servicemix.bundles.poi" version="3.16.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.collections4" version="4.1.0" match="greaterOrEqual"/>
<import plugin="org.apache.xmlbeans" version="2.6.0" match="greaterOrEqual"/>
</requires>
<plugin
id="org.apache.commons.collections4"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.xmlbeans"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.jkiss.dbeaver.data.office"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="javax.xml"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="javax.xml.stream"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.commons.codec"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.dom4j"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.servicemix.bundles.poi"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>
......@@ -10,11 +10,9 @@ Require-Bundle: org.jkiss.dbeaver.core,
org.eclipse.jface,
org.eclipse.ui.workbench,
org.eclipse.core.runtime,
org.apache.commons.collections4,
org.apache.xmlbeans,
org.dom4j,
org.apache.commons.codec,
org.apache.servicemix.bundles.poi,
org.apache.xmlbeans
org.dom4j;bundle-version="1.6.1",
org.apache.commons.codec;bundle-version="1.10.0",
org.apache.servicemix.bundles.poi;bundle-version="3.16.0"
Bundle-Localization: plugin
Bundle-ClassPath: .
......@@ -5,4 +5,4 @@ bin.includes = plugin.xml,\
.,\
*.xml,\
icons/,\
plugin.properties
\ No newline at end of file
plugin.properties
......@@ -8,6 +8,8 @@ dataTransfer.processor.xlsx.property.boolStringTrue.name=Boolean string TRUE
dataTransfer.processor.xlsx.property.boolStringTrue.description=String which will be used instead of TRUE boolean values
dataTransfer.processor.xlsx.property.boolStringFalse.name=Boolean string FALSE
dataTransfer.processor.xlsx.property.boolStringFalse.description=String which will be used instead of FALSE boolean values
dataTransfer.processor.xlsx.property.exportSql.name=Export SQL
dataTransfer.processor.xlsx.property.exportSql.description=Export SQL to a second sheet
dataTransfer.processor.xlsx.property.headerFont.name=Header row font
dataTransfer.processor.xlsx.property.headerFont.description=First row font properties
dataTransfer.processor.xlsx.property.border.name=Border style
......
......@@ -25,7 +25,8 @@
<property id="header" label="%dataTransfer.processor.xlsx.property.header.name" type="boolean" description="%dataTransfer.processor.xlsx.property.header.description" defaultValue="yes" required="true"/>
<property id="headerfont" label="%dataTransfer.processor.xlsx.property.headerFont.name" type="string" description="%dataTransfer.processor.xlsx.property.headerFont.description" defaultValue="BOLD" required="false" validValues="NONE,BOLD,ITALIC,STRIKEOUT,UNDERLINE"/>
<property id="trueString" label="%dataTransfer.processor.xlsx.property.boolStringTrue.name" type="string" description="%dataTransfer.processor.xlsx.property.boolStringTrue.description" defaultValue="+" required="false"/>
<property id="falseString" label="%dataTransfer.processor.xlsx.property.boolStringFalse.name" type="string" description="%dataTransfer.processor.xlsx.property.boolStringFalse.description" defaultValue="-" required="false"/>
<property id="falseString" label="%dataTransfer.processor.xlsx.property.boolStringFalse.name" type="string" description="%dataTransfer.processor.xlsx.property.boolStringFalse.description" defaultValue="-" required="false"/>
<property id="exportSql" label="%dataTransfer.processor.xlsx.property.exportSql.name" type="boolean" description="%dataTransfer.processor.xlsx.property.exportSql.description" defaultValue="false" required="false"/>
</propertyGroup>
</processor>
</node>
......
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2017 Andrew Khitrin (ahitrin@gmail.com)
* Copyright (C) 2017 Adolfo Suarez (agustavo@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -57,6 +58,8 @@ public class DataExporterXLSX extends StreamExporterAbstract{
private static final String PROP_TRUESTRING = "trueString";
private static final String PROP_FALSESTRING = "falseString";
private static final String PROP_EXPORT_SQL = "exportSql";
enum FontStyleProp {NONE, BOLD, ITALIC, STRIKEOUT, UNDERLINE}
private static final int ROW_WINDOW = 100;
......@@ -72,6 +75,7 @@ public class DataExporterXLSX extends StreamExporterAbstract{
private boolean rowNumber = false;
private String boolTrue="YES";
private String boolFalse="NO";
private boolean exportSql = false;
private int rowIndex;
private XSSFCellStyle style;
......@@ -122,6 +126,16 @@ public class DataExporterXLSX extends StreamExporterAbstract{
boolTrue = "NO";
}
try {
exportSql = (Boolean) site.getProperties().get(PROP_EXPORT_SQL);
} catch (Exception e) {
exportSql = false;
}
......@@ -204,7 +218,17 @@ public class DataExporterXLSX extends StreamExporterAbstract{
public void dispose()
{
try {
try {
if (exportSql) {
try {
sh = wb.createSheet();
Row row = sh.createRow(0);
Cell newcell = row.createCell(0);
newcell.setCellValue(getSite().getSource().getName());
} catch (Exception e) {
e.printStackTrace();
}
}
wb.write(getSite().getOutputStream());
wb.dispose();
} catch (IOException e) {
......
......@@ -2,6 +2,7 @@
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
* Copyright (C) 2017 Andrew Khitrin (ahitrin@gmail.com)
* Copyright (C) 2017 Adolfo Suarez (agustavo@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -199,6 +200,11 @@ public class StreamPOIConsumerPageOutput extends ActiveWizardPage<DataTransferWi
if (settings.isExecuteProcessOnFinish() && CommonUtils.isEmpty(settings.getFinishProcessCommand())) {
return false;
}
//To avoid problem with BOM
//Do not TOUCH !!!
settings.setOutputEncodingBOM(false);
return valid;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册