我想创建一个Excel文件并写入数据就像用Java编写文本文件一样.我试图将文件扩展名更改.txt
为.xls
.但我想在Excel文件中加粗字母.我怎样才能做到这一点?
我尝试过使用JXL API,但每次创建标签时都要添加标签.不能编辑表的行和列吗?
//Find jar from here "http://poi.apache.org/download.html" import java.io.*; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; public class CreateExlFile{ public static void main(String[]args) { try { String filename = "C:/NewExcelFile.xls" ; HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("FirstSheet"); HSSFRow rowhead = sheet.createRow((short)0); rowhead.createCell(0).setCellValue("No."); rowhead.createCell(1).setCellValue("Name"); rowhead.createCell(2).setCellValue("Address"); rowhead.createCell(3).setCellValue("Email"); HSSFRow row = sheet.createRow((short)1); row.createCell(0).setCellValue("1"); row.createCell(1).setCellValue("Sankumarsingh"); row.createCell(2).setCellValue("India"); row.createCell(3).setCellValue("sankumarsingh@gmail.com"); FileOutputStream fileOut = new FileOutputStream(filename); workbook.write(fileOut); fileOut.close(); workbook.close(); System.out.println("Your excel file has been generated!"); } catch ( Exception ex ) { System.out.println(ex); } } }
您可以使用Apache POI创建本机二进制xls文件.
或者你可以使用JExcelApi,这是另一个,而且有点轻,据我所知,Excel库的Excel.
关于Apache POI的Excel生成的公平警告...(我知道这是一个老帖子,但重要的是如果有人像我刚才那样再看一遍)
它有一个内存泄漏问题,据说可以在2006年解决,但最近人们还在经历这个问题.如果你想自动生成大量的excel(即,如果你想生成一个单独的大文件,大量的小文件,或两者兼而有之),我建议使用不同的API.如果不是这样,或者增加JVM堆栈大小荒谬的地步,也许寻找到实习字符串如果你知道你不会真的有许多不同的字符串(合作虽然,当然,实习的字符串意味着如果你有大量的不同的字符串,你会有一个完全不同的程序崩溃内存问题.所以,在你走这条路之前考虑一下).
File fileName = new File(".....\\Fund.xlsx"); public static void createWorkbook(File fileName) throws IOException { try { FileOutputStream fos = new FileOutputStream(fileName); XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("fund"); Row row = sheet.createRow(0); Cell cell0 = row.createCell(0); cell0.setCellValue("Nav Value"); Cell cell1 = row.createCell(1); cell1.setCellValue("Amount Change"); Cell cell2 = row.createCell(2); cell2.setCellValue("Percent Change"); workbook.write(fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }