2017-04-25 2 views
0

Ich habe ein Problem mit dem Hinzufügen von Headern zu der neu erstellten .xlsx-Datei Ich möchte den ersten Header = 'UserName' und die zweite Überschrift = 'Passwort' sehen. Kann mir jemand helfen, wie das geht?Hinzufügen von Headern zu einer Excel-Datei mit Java

XSSFWorkbook new_workbook = new XSSFWorkbook(); // create a blank workbook object 
    XSSFSheet sheet = new_workbook.createSheet("EMP_DETAILS"); // create a worksheet with caption score_details 

    // Define the SQL query 
    String sql = "SELECT login, password FROM \"Permissions\""; 
    ResultSet rs = stmt.executeQuery(sql); 

    // Create Map for Excel Data 
    Map<String, Object[]> excel_data = new HashMap<String, Object[]>(); 
    int row_counter = 0; 
    //Extract data from result set 
    while(rs.next()){ 
     row_counter = row_counter+1; 
     String login = rs.getString("login"); 
     String password = rs.getString("password"); 
     excel_data.put(Integer.toString(row_counter), new Object[] {login, password});      
    } 
    rs.close(); 

// Load data into logical worksheet 
    Set<String> keyset = excel_data.keySet(); 
    int rownum = 0; 
    for(String key : keyset){ // loop through the data and add them to the cell 
     Row row = sheet.createRow(rownum++); 
     Object [] objArr = excel_data.get(key); 
     int cellnum = 0; 
     for(Object obj : objArr){ 
      Cell cell = row.createCell(cellnum++); 
      if(obj instanceof Double) 
       cell.setCellValue((Double)obj); 
      else 
       cell.setCellValue((String)obj); 
     } 
    } 
    FileOutputStream output_file = new FileOutputStream(new File("File.xlsx")); // create XLSX file 
    new_workbook.write(output_file); // write excel document to output stream 
    output_file.close(); // close the file 
+1

Also, was ist Ihr Problem eigentlich? –

+0

Ich möchte in den sichtbaren Dateiüberschriften User | Passwort – danio900409

+0

Und was ist das tatsächliche Ergebnis? –

Antwort

0

Meine $ 0,02 ... erstellen Sie keine Excel-Datei für etwas so einfach. Erstellen Sie stattdessen eine CSV-Datei. Die erste Zeile Sie

UserName, Password 

für die Header und die Linien nach, dass sein schreiben wird nur für jede durch ein Komma getrennt Spalte Ihre Daten sein. Sobald die Datei geschrieben ist, können Sie sie einfach in Excel öffnen und als Excel-Datei speichern.

Diese Methode ist viel einfacher und einfacher als der Versuch, eine Excel-Datei zu schreiben.

Wenn Sie dies nicht tun möchten, müssen Sie nur eine Zeile erstellen, bevor Sie Ihre keyset wie jede andere Zeile durchlaufen und die Zeichenfolgen für die Kopfzeilen schreiben.

0

können Sie folgenden Code verwenden, nach dieser Zeile ResultSet rs = stmt.executeQuery(sql);:

ResultSetMetaData RSMD = rs.getMetaData();

Dann, um Spaltenüberschriften zu holen; verwenden Sie unten:

String columnName1 = rsmd.getColumnName(1); // will fetch you "UserName" 
String columnName2 = rsmd.getColumnName(2); // will fetch you "Password" 
Verwandte Themen