Czy ktoś może wskazać mi właściwy kierunek zapisu pliku excel w java? Nie rozumiem linków, które znalazłem w Internecie. Czy mógłbyś mi wysłać link lub cokolwiek, co mógłbym wykonać?pisanie do programu Excel w języku Java
Dziękuję J
Czy ktoś może wskazać mi właściwy kierunek zapisu pliku excel w java? Nie rozumiem linków, które znalazłem w Internecie. Czy mógłbyś mi wysłać link lub cokolwiek, co mógłbym wykonać?pisanie do programu Excel w języku Java
Dziękuję J
Nie być banalne, ale Apache POI może to zrobić. Można znaleźć kilka przykładów kodu tutaj:
http://poi.apache.org/spreadsheet/examples.html
Inną alternatywą dla Apache POI jest JExcelAPI, który (IMO) jest łatwiejszy w użyciu API. Some examples:
WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls"));
WritableSheet sheet = workbook.createSheet("First Sheet", 0);
Label label = new Label(0, 2, "A label record");
sheet.addCell(label);
Number number = new Number(3, 4, 3.1459);
sheet.addCell(number);
Awesome API. O wiele łatwiej niż Apache POI. Dziękuję Ci! – JCab
Użyłem Apache's POI Library kiedy miałem pisać excel plików z Java. Znalazłem to dość proste, kiedy już to zrozumiesz. Java World ma dobry tutorial o rozpoczęciu korzystania z UM, które uważam za bardzo pomocne.
Zamieszczanie przydatnych przykładów dla API.
Etap przykładem etap służący wykorzystaniu JExcelAPI:
http://www.vogella.de/articles/JavaExcel/article.html
http://www.java-tips.org/other-api-tips/jexcel/how-to-create-an-excel-file.html
Etap przykładem etap służący wykorzystaniu POI (nieco stary, ale przydatne):
http://www.javaworld.com/javaworld/jw-03-2004/jw-0322-poi.html
Użyłem JExcelAPI i uczyłem się ho w od this tutorial.
Tutaj mam zamiar dać przykładowy przykład, jak napisać Excel; to wykorzystać w pom.xml
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
<version>0.9</version>
</dependency>
klasę Model:
public class Products {
private String productCode1;
private String productCode2;
private String productCode3;
constructors,setters and getters
}
główne klasy:
public class WriteExcel {
public void writeExcel() {
Collection staff = new HashSet();
staff.add(new Products("101R15ss0100", "PALss Kids 1.5 A360 ", "321"));
staff.add(new Products("101R1ss50100", "PAL sKids 1.5 A360 ", "236"));
Map beans = new HashMap();
beans.put("products", staff);
XLSTransformer transformer = new XLSTransformer();
try {
transformer.transformXLS(templateFileName, beans, destFileName);
System.out.println("Completed!!");
} catch (ParsePropertyException e) {
System.out.println("In ParsePropertyException");
e.printStackTrace();
} catch (IOException e) {
System.out.println("In IOException");
e.printStackTrace();
}
}
public static void main(String[] args) {
WriteExcel writeexcel = new WriteExcel();
writeexcel.writeExcel();
}
}
public class ExcelUtils {
private static XSSFSheet ExcelWSheet;
private static XSSFWorkbook ExcelWBook;
private static XSSFCell Cell;
private static XSSFRow Row;
File fileName = new File("C:\\Users\\satekuma\\Pro\\Fund.xlsx");
public void setExcelFile(File Path, String SheetName) throws Exception {
try {
FileInputStream ExcelFile = new FileInputStream(Path);
ExcelWBook = new XSSFWorkbook(ExcelFile);
ExcelWSheet = ExcelWBook.getSheet(SheetName);
} catch (Exception e) {
throw (e);
}
}
public static String getCellData(int RowNum, int ColNum) throws Exception {
try {
Cell = ExcelWSheet.getRow(RowNum).getCell(ColNum);
String CellData = Cell.getStringCellValue();
return CellData;
} catch (Exception e) {
return "";
}
}
public static void setCellData(String Result, int RowNum, int ColNum, File Path) throws Exception {
try {
Row = ExcelWSheet.createRow(RowNum - 1);
Cell = Row.createCell(ColNum - 1);
Cell.setCellValue(Result);
FileOutputStream fileOut = new FileOutputStream(Path);
ExcelWBook.write(fileOut);
fileOut.flush();
fileOut.close();
} catch (Exception e) {
throw (e);
}
}
}
Oto podstawowy kod do zapisu danych w pliku excel (.xls).
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
public class Export2Excel {
public static void main(String[] args) {
try {
//create .xls and create a worksheet.
FileOutputStream fos = new FileOutputStream("D:\\data2excel.xls");
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet worksheet = workbook.createSheet("My Worksheet");
//Create ROW-1
HSSFRow row1 = worksheet.createRow((short) 0);
//Create COL-A from ROW-1 and set data
HSSFCell cellA1 = row1.createCell((short) 0);
cellA1.setCellValue("Sno");
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFillForegroundColor(HSSFColor.GOLD.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cellA1.setCellStyle(cellStyle);
//Create COL-B from row-1 and set data
HSSFCell cellB1 = row1.createCell((short) 1);
cellB1.setCellValue("Name");
cellStyle = workbook.createCellStyle();
cellStyle.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cellB1.setCellStyle(cellStyle);
//Create COL-C from row-1 and set data
HSSFCell cellC1 = row1.createCell((short) 2);
cellC1.setCellValue(true);
//Create COL-D from row-1 and set data
HSSFCell cellD1 = row1.createCell((short) 3);
cellD1.setCellValue(new Date());
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat
.getBuiltinFormat("m/d/yy h:mm"));
cellD1.setCellStyle(cellStyle);
//Save the workbook in .xls file
workbook.write(fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
UWAGA:Musisz pobrać bibliotekę słoik z linku:http://www.java2s.com/Code/JarDownload/poi/poi-3.9.jar.zip
Co linki ty mówisz? Istnieje wiele różnych sposobów pisania na temat excelowania plików z Java. Czy jest jakiś konkretny API lub biblioteka, z którą masz problemy? – FloppyDisk
możliwy duplikat [JSP generującego arkusz kalkulacyjny Excel (XLS) do pobrania] (http://stackoverflow.com/questions/477886/jsp-generating-excel-spreadsheet-xls-to-download) –