2012-03-23 6 views
-2

こんにちはすべてが、セルの色、セルの書式などと同じ形式のxlsxファイルを処理するためのAPIです。xlsxファイルを追加モードで開き、書式を変更せずにセルのデータを暗号化します。 APIはpythonまたはjavaにすることができます。xlsx処理用API

答えて

1

OpenPyXLまたはApache POIのいずれかをご覧ください。

+0

私はそれを試してみましたが、私は適切な文書や例を取得できませんでした。私はopenpyxlとApche POIを使って実装しましたが、うまく動作していますが、同じ書式は得られません。 –

+0

私はJythonとApache POIを使って実装しました。ここの例:http://stackoverflow.com/a/39898408/104345 – mtasic85

1

使用Apache POI ....

package com.bridgex.connect.foundation.ui.payment; 

import java.io.FileInputStream; 
import java.util.Iterator; 
import java.util.Vector; 



import org.apache.poi.hssf.usermodel.HSSFCell; 
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.poifs.filesystem.POIFSFileSystem; 


public class test1 { 


public static void main(String [] args) { 

    String fileName="D:\\testPOI.xls"; 
    //Read an Excel File and Store in a Vector 
    Vector dataHolder=readExcelFile(fileName); 
    //Print the data read 
    printCellDataToConsole(dataHolder); 
} 
public static Vector readExcelFile(String fileName) 
{ 
    /** --Define a Vector 
     --Holds Vectors Of Cells 
    */ 
    Vector cellVectorHolder = new Vector(); 

    try{ 
    /** Creating Input Stream**/ 
    //InputStream myInput= ReadExcelFile.class.getResourceAsStream(fileName); 
    FileInputStream myInput = new FileInputStream(fileName); 

    /** Create a POIFSFileSystem object**/ 
    POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput); 

    /** Create a workbook using the File System**/ 
    HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem); 

    /** Get the first sheet from workbook**/ 
    HSSFSheet mySheet = myWorkBook.getSheetAt(0); 

    /** We now need something to iterate through the cells.**/ 
     Iterator rowIter = mySheet.rowIterator(); 

     while(rowIter.hasNext()){ 
      HSSFRow myRow = (HSSFRow) rowIter.next(); 
      Iterator cellIter = myRow.cellIterator(); 
      Vector cellStoreVector=new Vector(); 
      while(cellIter.hasNext()){ 
       HSSFCell myCell = (HSSFCell) cellIter.next(); 
       cellStoreVector.addElement(myCell); 
      } 
      cellVectorHolder.addElement(cellStoreVector); 
     } 
    }catch (Exception e){e.printStackTrace(); } 
    return cellVectorHolder; 
} 

private static void printCellDataToConsole(Vector dataHolder) { 

    for (int i=0;i<dataHolder.size(); i++){ 
       Vector cellStoreVector=(Vector)dataHolder.elementAt(i); 
     for (int j=0; j < cellStoreVector.size();j++){ 
      HSSFCell myCell = (HSSFCell)cellStoreVector.elementAt(j); 
      String stringCellValue = myCell.toString(); 
      System.out.print(stringCellValue+"\t"); 
     } 
     System.out.println(); 
    } 
} 

} 
関連する問題