use of jxl.write.WritableFont in project cubrid-manager by CUBRID.
the class ImportResultDialog method getNormolCell.
public static WritableCellFormat getNormolCell() {
// FIXME move this logic to core module
WritableFont font = new WritableFont(WritableFont.TIMES, 12);
WritableCellFormat format = new WritableCellFormat(font);
try {
format.setAlignment(jxl.format.Alignment.LEFT);
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
format.setWrap(true);
} catch (WriteException e) {
e.printStackTrace();
}
return format;
}
use of jxl.write.WritableFont in project cubrid-manager by CUBRID.
the class ExportToXlsHandler method writeHeader.
/**
* Write the sheet header
*
* @param sheet
* @param columnNameList
* @throws RowsExceededException
* @throws WriteException
*/
private void writeHeader(WritableSheet sheet, List<String> columnNameList) throws RowsExceededException, WriteException {
// FIXME move this logic to core module
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false);
WritableCellFormat wcf = new WritableCellFormat(wf);
for (int columnIndex = 0; columnIndex < columnNameList.size(); columnIndex++) {
String columnName = columnNameList.get(columnIndex);
Label label = new Label(columnIndex, 0, columnName, wcf);
sheet.addCell(label);
label = null;
}
wcf = null;
wf = null;
}
use of jxl.write.WritableFont in project cubrid-manager by CUBRID.
the class ExportTableDataTask method exportXls.
/**
* Export data as XLS file format
*
* @param rs CUBRIDResultSetProxy
* @param monitor IProgressMonitor
*/
private void exportXls(CUBRIDResultSetProxy rs, final IProgressMonitor monitor) {
// FIXME move this logic to core module
WritableWorkbook workbook = null;
try {
int sheetNum = 0;
workbook = Workbook.createWorkbook(file);
if (fileCharset == null || fileCharset.trim().length() == 0) {
workbook = Workbook.createWorkbook(file);
} else {
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding(fileCharset);
workbook = Workbook.createWorkbook(file, workbookSettings);
}
WritableSheet sheet = workbook.createSheet("Sheet " + sheetNum, sheetNum);
// 65536: limit xls row number.
int rowLimit = ImportFileConstants.XLS_ROW_LIMIT;
// it set 257. Because Tbl's first column is oid value that doesn't export
// 256: limit xls column number.
int columnLimit = ImportFileConstants.XLS_COLUMN_LIMIT + 1;
int cellCharacterLimit = ImportFileConstants.XLSX_CELL_CHAR_LIMIT;
CUBRIDResultSetMetaDataProxy rsmt = (CUBRIDResultSetMetaDataProxy) rs.getMetaData();
int colCount = rsmt.getColumnCount() + 1;
isExit = false;
for (int j = 1; j < colCount; j++) {
String columnName = rsmt.getColumnName(j);
String columnType = rsmt.getColumnTypeName(j);
int precision = rsmt.getPrecision(j);
columnType = columnType == null ? "" : columnType;
setIsHasBigValue(columnType, precision);
//the data length > XLS column character limit
if (precision > cellCharacterLimit) {
final String confirmMSG = Messages.bind(Messages.exportCharacterCountExceedWarnInfo, columnName);
Display.getDefault().syncExec(new Runnable() {
public void run() {
if (!CommonUITool.openConfirmBox(confirmMSG)) {
isExit = true;
}
}
});
if (isExit) {
return;
}
}
// first line add column name
if (isFirstRowAsColumnName) {
WritableFont wf = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false);
WritableCellFormat wcf = new WritableCellFormat(wf);
if (columnName.length() > cellCharacterLimit) {
Label label = new Label(j - 1, 0, columnName.substring(0, cellCharacterLimit));
sheet.addCell(label);
label = null;
} else {
Label label = new Label(j - 1, 0, columnName.toString(), wcf);
sheet.addCell(label);
label = null;
}
wcf = null;
wf = null;
}
}
if (colCount > columnLimit) {
Display.getDefault().syncExec(new Runnable() {
public void run() {
if (!CommonUITool.openConfirmBox(Messages.exportColumnCountOverWarnInfo)) {
isExit = true;
}
}
});
if (isExit) {
return;
}
colCount = columnLimit;
}
int xlsRecordNum = 0;
if (isFirstRowAsColumnName) {
xlsRecordNum = 1;
}
while (rs.next()) {
if (!CommonUITool.isAvailableMemory(REMAINING_MEMORY_SIZE)) {
throw new OutOfMemoryError();
}
for (int j = 1; j < colCount; j++) {
String colType = rsmt.getColumnTypeName(j);
colType = FieldHandlerUtils.amendDataTypeByResult(rs, j, colType);
int precision = rsmt.getPrecision(j);
setIsHasBigValue(colType, precision);
Object cellValue = FieldHandlerUtils.getRsValueForExport(colType, rs, j, nullValue);
if (cellValue instanceof Long) {
sheet.addCell(new Number(j - 1, xlsRecordNum, (Long) cellValue));
} else if (cellValue instanceof Double) {
sheet.addCell(new Number(j - 1, xlsRecordNum, (Double) cellValue));
} else if (cellValue instanceof Timestamp) {
String dataCellValue = FieldHandlerUtils.formatDateTime((Timestamp) cellValue);
sheet.addCell(new Label(j - 1, xlsRecordNum, dataCellValue));
} else if (cellValue instanceof java.sql.Time) {
String dataCellValue = DateUtil.getDatetimeString(((java.sql.Time) cellValue).getTime(), FieldHandlerUtils.FORMAT_TIME);
sheet.addCell(new Label(j - 1, xlsRecordNum, dataCellValue));
} else if (cellValue instanceof java.sql.Date) {
String dataCellValue = DateUtil.getDatetimeString(((java.sql.Date) cellValue).getTime(), FieldHandlerUtils.FORMAT_DATE);
sheet.addCell(new Label(j - 1, xlsRecordNum, dataCellValue));
} else {
sheet.addCell(new Label(j - 1, xlsRecordNum, cellValue.toString().length() > cellCharacterLimit ? cellValue.toString().substring(0, cellCharacterLimit) : cellValue.toString()));
}
}
xlsRecordNum++;
if (((exportedCount + 1) % rowLimit) == 0) {
sheetNum++;
xlsRecordNum -= rowLimit;
sheet = workbook.createSheet("Sheet " + sheetNum, sheetNum);
}
exportedCount++;
monitor.worked(10);
monitor.subTask(Messages.bind(Messages.msgExportDataRow, exportedCount));
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
try {
if (workbook != null) {
workbook.write();
}
} catch (Exception ignored) {
}
try {
if (workbook != null) {
workbook.close();
}
} catch (Exception ignored) {
}
}
}
use of jxl.write.WritableFont in project cubrid-manager by CUBRID.
the class ExportConnectionUtil method writeToXls.
/**
* Write to xls
*
* @throws IOException
* @throws RowsExceededException
* @throws WriteException
*/
private void writeToXls() throws IOException, RowsExceededException, WriteException {
// FIXME split logic and ui
WritableWorkbook workbook = null;
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding("UTF-8");
workbook = Workbook.createWorkbook(file, workbookSettings);
WritableSheet sheet = workbook.createSheet(Messages.sheetNameConnections, 0);
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, false);
WritableCellFormat wcf = new WritableCellFormat(wf);
jxl.write.Label label = null;
label = new jxl.write.Label(0, 0, Messages.nameColumn, wcf);
sheet.addCell(label);
label = new jxl.write.Label(1, 0, Messages.iPColumn, wcf);
sheet.addCell(label);
label = new jxl.write.Label(2, 0, Messages.portColumn, wcf);
sheet.addCell(label);
label = new jxl.write.Label(3, 0, Messages.userColumn, wcf);
sheet.addCell(label);
label = new jxl.write.Label(4, 0, Messages.commentColumn, wcf);
sheet.addCell(label);
label = new jxl.write.Label(5, 0, Messages.javaUrlColumn, wcf);
sheet.addCell(label);
label = new jxl.write.Label(6, 0, Messages.phpUrlColumn, wcf);
sheet.addCell(label);
int index = 1;
for (CubridDatabase database : input) {
if (database == null) {
continue;
}
DatabaseInfo dbInfo = database.getDatabaseInfo();
if (dbInfo == null) {
continue;
}
/* name */
sheet.addCell(new jxl.write.Label(0, index, dbInfo.getDbName()));
/* ip */
sheet.addCell(new jxl.write.Label(1, index, dbInfo.getBrokerIP()));
/* port */
sheet.addCell(new jxl.write.Label(2, index, dbInfo.getBrokerPort()));
/* user */
sheet.addCell(new jxl.write.Label(3, index, getDbUser(dbInfo)));
/* comment */
String comment = "";
DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(database, managerMode);
if (editorConfig != null && editorConfig.getDatabaseComment() != null) {
comment = editorConfig.getDatabaseComment();
}
sheet.addCell(new jxl.write.Label(4, index, comment));
/* java url */
String javaUrl = NodeUtil.getJavaConnectionUrl(dbInfo);
sheet.addCell(new jxl.write.Label(5, index, javaUrl));
/* php url */
String phpUrl = NodeUtil.getPHPConnectionUrl(dbInfo);
sheet.addCell(new jxl.write.Label(6, index, phpUrl));
index++;
}
workbook.write();
workbook.close();
}
use of jxl.write.WritableFont in project cubrid-manager by CUBRID.
the class BrokerLogTopMergeProgress method getNormalCell.
/**
* getNormalCell
*
* @return WritableCellFormat
*/
public static WritableCellFormat getNormalCell() {
// FIXME move this logic to core module
WritableFont font = new WritableFont(WritableFont.TIMES, 11);
WritableCellFormat format = new WritableCellFormat(font);
try {
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
format.setWrap(true);
} catch (WriteException e) {
LOGGER.error(e.getMessage(), e);
}
return format;
}
Aggregations