基于jcom,java写数据到excel方式一(ExcelWorkbook)
2009-11-08 10:05
609 查看
配置环境:
1,将jcom.jar导入到工程classpath下 2,将jcom.dll文件拷贝到jdk/bin目录下
package sample1;
import java.io.File;
import java.util.Date;
import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelApplication;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelRange;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbook;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbooks;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheet;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheets;
public class JcomExcelSample1 {
private static ReleaseManager rm = null; // ReleaseManager相当于一个容器,与你机器上的所有JCOM组建交互,根据你传的参数他会去寻找你机器上的所有JCOM能操作的组建;
public static void main(String[] args) throws Exception {
rm = new ReleaseManager();//查找JCOM能够操作的组件
IDispatch appl = null;
try {
System.out.println("EXCEL loading...");
ExcelApplication excel = new ExcelApplication(rm);//创建可加载excel组件
excel.Visible(true);//表示显示操作的excel文件
System.out.println("Version=" + excel.Version());
System.out.println("UserName=" + excel.UserName());
System.out.println("Caption=" + excel.Caption());
System.out.println("Value=" + excel.Value());
ExcelWorkbooks xlBooks = excel.Workbooks();//创建工作薄对象
ExcelWorkbook xlBook = xlBooks.Add();//添加工作薄
ExcelWorksheets xlSheets = xlBook.Worksheets();//获得工作薄中的工作表,返回的是以数组形式存放
ExcelWorksheet xlSheet = xlSheets.Item(2);//选中第2个工作表
xlSheet.Name("new sheet name");//修改当前sheet的名字
ExcelRange xlRange = xlSheet.Cells();//得到工作表的单元格
//向指定的单元格中添加值
xlRange.Item(1, 1).Value("第1行,第1列");
xlRange.Item(1, 2).Value("第1行,第2列");
xlRange.Item(1, 3).Value("第1行,第3列");
xlRange.Item(1, 4).Value("第1行,第4列");
xlRange.Item(1, 5).Value("第1行,第5列");
xlRange.Item(1, 6).Value("第1行,第6列");
xlRange.Item(1, 7).Value("第1行,第7列");
File path = new File("./");//创建一个文件对象(.表示当前路径下或者使用(./))
String[] filenames = path.list();//列出该文件加下的所有文件
for (int i = 0; i < filenames.length; i++) {
File file = new File(filenames[i]);//得到目录下当前文件对象
System.out.println("file:"+file);//
xlRange.Item(i + 2, 1).Value(file.getName());//文件的名字
xlRange.Item(i + 2, 2).Value((int) file.length());//**返回文件大小**
xlRange.Item(i + 2, 3).Value(new Date(file.lastModified()));//文件最后更新时间
xlRange.Item(i + 2, 4).Value(file.isDirectory() ? "Yes" : "No");//判断是否是目录
xlRange.Item(i + 2, 5).Value(file.isFile() ? "Yes" : "No");//判断是否是文件
xlRange.Item(i + 2, 6).Value(file.canRead() ? "Yes" : "No");//判断是否可写
xlRange.Item(i + 2, 7).Value(file.canWrite() ? "Yes" : "No");//判断是否可读
}
String expression_r_r = "=Sum(B2:B" + (filenames.length + 1) + ")";
System.out.println("计算公式:" + expression_r_r);
xlRange.Item(filenames.length + 2, 1).Value("大小合计");
xlRange.Item(filenames.length + 2, 2).Formula(expression_r_r);//添加使用的表达式
xlRange.Columns().AutoFit();//可以自动调整列宽以适应文字
// xlSheet.PrintOut();//是否打印该文件
xlBook.SaveAs("testExcel.xls");//保存在上面的目录下
System.out.println("[Enter]");
System.in.read();
xlBook.Close(false, null, false);
excel.Quit();
System.out.println("");
} catch (Exception e) {
e.printStackTrace();
} finally {
rm.release();
}
}
}
1,将jcom.jar导入到工程classpath下 2,将jcom.dll文件拷贝到jdk/bin目录下
package sample1;
import java.io.File;
import java.util.Date;
import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelApplication;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelRange;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbook;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbooks;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheet;
import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheets;
public class JcomExcelSample1 {
private static ReleaseManager rm = null; // ReleaseManager相当于一个容器,与你机器上的所有JCOM组建交互,根据你传的参数他会去寻找你机器上的所有JCOM能操作的组建;
public static void main(String[] args) throws Exception {
rm = new ReleaseManager();//查找JCOM能够操作的组件
IDispatch appl = null;
try {
System.out.println("EXCEL loading...");
ExcelApplication excel = new ExcelApplication(rm);//创建可加载excel组件
excel.Visible(true);//表示显示操作的excel文件
System.out.println("Version=" + excel.Version());
System.out.println("UserName=" + excel.UserName());
System.out.println("Caption=" + excel.Caption());
System.out.println("Value=" + excel.Value());
ExcelWorkbooks xlBooks = excel.Workbooks();//创建工作薄对象
ExcelWorkbook xlBook = xlBooks.Add();//添加工作薄
ExcelWorksheets xlSheets = xlBook.Worksheets();//获得工作薄中的工作表,返回的是以数组形式存放
ExcelWorksheet xlSheet = xlSheets.Item(2);//选中第2个工作表
xlSheet.Name("new sheet name");//修改当前sheet的名字
ExcelRange xlRange = xlSheet.Cells();//得到工作表的单元格
//向指定的单元格中添加值
xlRange.Item(1, 1).Value("第1行,第1列");
xlRange.Item(1, 2).Value("第1行,第2列");
xlRange.Item(1, 3).Value("第1行,第3列");
xlRange.Item(1, 4).Value("第1行,第4列");
xlRange.Item(1, 5).Value("第1行,第5列");
xlRange.Item(1, 6).Value("第1行,第6列");
xlRange.Item(1, 7).Value("第1行,第7列");
File path = new File("./");//创建一个文件对象(.表示当前路径下或者使用(./))
String[] filenames = path.list();//列出该文件加下的所有文件
for (int i = 0; i < filenames.length; i++) {
File file = new File(filenames[i]);//得到目录下当前文件对象
System.out.println("file:"+file);//
xlRange.Item(i + 2, 1).Value(file.getName());//文件的名字
xlRange.Item(i + 2, 2).Value((int) file.length());//**返回文件大小**
xlRange.Item(i + 2, 3).Value(new Date(file.lastModified()));//文件最后更新时间
xlRange.Item(i + 2, 4).Value(file.isDirectory() ? "Yes" : "No");//判断是否是目录
xlRange.Item(i + 2, 5).Value(file.isFile() ? "Yes" : "No");//判断是否是文件
xlRange.Item(i + 2, 6).Value(file.canRead() ? "Yes" : "No");//判断是否可写
xlRange.Item(i + 2, 7).Value(file.canWrite() ? "Yes" : "No");//判断是否可读
}
String expression_r_r = "=Sum(B2:B" + (filenames.length + 1) + ")";
System.out.println("计算公式:" + expression_r_r);
xlRange.Item(filenames.length + 2, 1).Value("大小合计");
xlRange.Item(filenames.length + 2, 2).Formula(expression_r_r);//添加使用的表达式
xlRange.Columns().AutoFit();//可以自动调整列宽以适应文字
// xlSheet.PrintOut();//是否打印该文件
xlBook.SaveAs("testExcel.xls");//保存在上面的目录下
System.out.println("[Enter]");
System.in.read();
xlBook.Close(false, null, false);
excel.Quit();
System.out.println("");
} catch (Exception e) {
e.printStackTrace();
} finally {
rm.release();
}
}
}
相关文章推荐
- 基于jcom,java写数据到excel方式二(IDispatch)
- java在excel里插入文字数据和图片(JXL方式)
- 将数据库中的数据导出到Excel中(直接导出到磁盘,Java方式)
- Java Excel SXSSFWorkbook大量数据导出
- Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)
- java代码导入excel数据至oracle(poi方式)
- Java基础知识强化之网络编程笔记17:Android网络通信之 使用Http的Post方式读取网络数据(基于HTTP通信技术)
- java 导出数据到excel 之 WritableWorkbook
- Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)
- jacob方式,java实现excel的写数据过程
- poi,java向 excel文件写数据(缺点,HSSFWorkbook不支持图片) 例子
- JAVA POI将数据导出保存到EXCEL 的一些方式
- C#导出数据到Excel的两种方式:基于COM组件和NPIO
- Java导出数据为EXCEL的两种方式JXL和POI
- java 导出数据到excel 之 WritableWorkbook
- C#导出数据到Excel的两种方式:基于COM组件和NPIO
- 使用POI操作Excel时new XSSFWorkbook ()报错java.lang.NoSuchMethodError解决方式
- 用groovy简化java反射编写一个基于行数据对象的自动生成excel文件对象的工具
- JAVA线程的应用实例(运用2种中断线程方式,基于实现进度条为例)
- Java之基于S2SH与手机数据交互(二)