ฉันใช้Apache POI API
สร้างexcel spreadsheet
เพื่อส่งออกข้อมูลบางอย่าง
ปัญหาที่ฉันพบคือเมื่อสร้างและเปิดสเปรดชีตคอลัมน์จะไม่ขยายทำให้ข้อความยาว ๆ เช่นข้อความที่จัดรูปแบบวันที่ไม่ปรากฏขึ้นในครั้งแรก
ฉันสามารถดับเบิลคลิกที่ขอบคอลัมน์ใน excel เพื่อขยายหรือลากเส้นขอบเพื่อปรับความกว้างของคอลัมน์ แต่อาจมีมากกว่า 20 คอลัมน์และไม่มีวิธีใดที่ฉันต้องการทำด้วยตนเองทุกครั้งที่เปิดสเปรดชีต :(
ฉันพบ (แม้ว่าอาจจะผิดวิธี) groupRow()
และsetColumnGroupCollapsed()
อาจสามารถทำเคล็ดลับได้ แต่ไม่มีโชค บางทีฉันใช้มันในทางที่ผิด
ตัวอย่างข้อมูลโค้ด
Workbook wb = new HSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
//create sheet
Sheet sheet = wb.createSheet("masatoSheet");
//not really working yet.... :(
//set group for expand/collapse
//sheet.groupRow(0, 10); //just random fromRow toRow argument values...
//sheet.setColumnGroupCollapsed(0, true);
//create row
Row row = sheet.createRow((short)0);
//put a cell in the row and store long text data
row.createCell(0).setCellValue("Loooooooong text not to show up first");
เมื่อสร้างสเปรดชีตนี้สตริง "Looooooong text not to show up first" จะอยู่ในเซลล์ แต่เนื่องจากคอลัมน์ไม่ได้ถูกขยายเพียง แต่ "Loooooooo" เท่านั้นที่จะปรากฏขึ้น
ฉันจะกำหนดค่าได้อย่างไรเมื่อฉันเปิดสเปรดชีตคอลัมน์จะขยายแล้ว ???