2016-10-04 2 views
0

Ich habe eine Excel-Tabelle, die mehrere Spalten mit Daten zusammen mit einer Spalte enthält, die Dateipfade enthält. Wenn ich es in das Raster extjs hochlade, möchte ich Blobdaten anhand der Dateipfadspalte lesen, bevor es an eine Datenbank gesendet wird. Ich habe kein Formular, ich brauche Daten, wenn ich auf einen Absenden-Button im Grid klicke. Wie können wir lokale Systemdaten von einem Excel-Blatt lesen? Ich habe versucht, das Bild auf der Rückseite (mit Java-Frühling) zu lesen, aber es liest, als ob Client und Server beide im einzelnen System verlassen. Ich möchte den Blob von der Client-Seite lesen. Wie kann ich es in Java machen? Bitte geben Sie einen Vorschlag.So lesen Sie Blob aus Excel-Blatt in Extjs

PFA

Antwort

0

Privat static void GetShapePosition (HttpServletRequest Anfrage) {

try { 
    InputStream inp = new FileInputStream("D:/SVN_PROJECTS/WorkDevServer/EnrollSample.xls"); 
    Workbook wb = WorkbookFactory.create(inp); 
    HSSFSheet sheet = (HSSFSheet)wb.getSheetAt(0); 
    HashMap<String,byte[]> hashMap = new HashMap<String,byte[]>(); 
    HSSFPatriarch dravingPatriarch = sheet.getDrawingPatriarch(); 

    java.util.List<HSSFShape> shapes = dravingPatriarch.getChildren(); 

    for (HSSFShape shape : shapes) { 
    if (shape instanceof HSSFPicture) { 
    HSSFPicture hssfPicture = (HSSFPicture)shape; 
    int picIndex = hssfPicture.getPictureIndex(); 
    String filename = hssfPicture.getFileName(); 
    HSSFPictureData hssfPictureData = hssfPicture.getPictureData(); 
    byte[] b = hssfPictureData.getData(); 
    String s= hssfPictureData.getMimeType(); 
    HSSFClientAnchor hca = hssfPicture.getPreferredSize(); 
    System.out.println("  row : -> "+(hca.getRow1())+"  column : -> "+(hca.getCol1())); 
    hashMap.put(String.valueOf((hca.getRow1()))+String.valueOf((hca.getCol1())),b); 
    } 
    } 

    request.getSession().setAttribute("ImghashMap", hashMap); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

}

+1

Bitte erläutern Sie Ihre Antwort – Mazz

+0

getDrawingPatriarch() geben HSSFPatriarch Objekt aus, dass wir das ganze Bild auflisten kann in Excel-Blatt mit Hilfe der getChildren() -Methode. von diesem können Sie Details des Bildes wie Position und Byte, imagename, mimeType erhalten – sangamesh

Verwandte Themen