小编Ste*_*gas的帖子

JAVA - 在jxl中编写Excel单元格时出现内存不足错误

我正在使用JXL编写50000行和30列的excel文件.我的代码看起来像这样:

for(int j = 0; j <countOfRows; j ++){

myWritableSheet.addCell(new Label(0, j, myResultSet.getString(1), myWritableCellFormat));

myWritableSheet.addCell(new Label(1, j, myResultSet.getString(2), myWritableCellFormat));

.....

.....
Run Code Online (Sandbox Code Playgroud)

}

在写入单元格时,程序变得越来越慢

最后在25000行附近我收到以下错误:

线程"Thread-3"中的异常java.lang.OutOfMemoryError:jxl.write.biff.brit.WritableSheetImpl.addCell上的jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:984)中的Java堆空间(WritableSheetImpl.java:951 )在KLL.ConverterMainFrame $ exportToXLSBillRightsThread.run(ConverterMainFrame.java:6895)

Java中处理内存总是很困难.

在这种情况下,它似乎是jxl的问题.

有没有办法写入文件,清除内存并每1000个单元格写入单元格?

这会是一个好主意还是你还有什么建议作为解决方案?

memory excel memory-management jxl cells

1
推荐指数
1
解决办法
6361
查看次数

如何从VB.NET中的StatusStrip中删除"调整大小三角形"

我有一个Form,其底部有一个StatusStrip组件.表单具有固定的宽度,不可调整大小.但是,StatusStrip右侧有一个"调整大小三角形"(6个小点).

这给人的印象是窗口可以调整大小.我该如何删除它?

vb.net forms appearance statusstrip fixed-width

1
推荐指数
1
解决办法
2442
查看次数

如何从Oracle表中获取所有列的名称

如何使用Java从Oracle表中获取所有列的名称?有没有办法从DatabaseMetaData对象中获取它们?

DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData();
...
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用select语句来获取它们:

Select COLUMN_NAME from user_tab_columns where table_name='MYTABLE'
Run Code Online (Sandbox Code Playgroud)

如果可以从DatabaseMetaData对象获取它们,这两种方法有什么区别?

编辑:发布工作代码(感谢您的答案)

public ArrayList<String> getAllFields(String tableName) {
    ArrayList<String> allFields = new ArrayList<String>();
    try {
        DatabaseMetaData myDatabaseMetaData = myConnection.getMetaData();
        ResultSet columnsResultSet = myDatabaseMetaData.getColumns(null, null, tableName, null);
        while (columnsResultSet.next()) { allFields.add(columnsResultSet.getString("COLUMN_NAME")); }
    } catch (SQLException ex) {
        Exceptions.printStackTrace(ex);
    }
    return allFields;
}
Run Code Online (Sandbox Code Playgroud)

java oracle metadata

1
推荐指数
1
解决办法
1万
查看次数

C#从组件列表中获取特定组件

我有一个组件列表

List<Component> components = new List<Component>();
Run Code Online (Sandbox Code Playgroud)

我正在设计一个动态表单框架.我知道即使我知道它们各自是什么类型的组件,也不可能转换为特定组件.如何将组件作为特定类型(例如TextBox,ComboBox)以使用其属性.

例如,我知道第一项components是a ComboBox.我可以把它作为ComboBox使用它吗?

c# components

1
推荐指数
1
解决办法
1171
查看次数