¥Ý¥¤¥ó¥È¡§
»²¾È¥Ú¡¼¥¸
¥µ¥ó¥×¥ë¤ò´Þ¤à¥Ú¡¼¥¸
¥Ñ¥Ã¥±¡¼¥¸¤ò¥À¥¦¥ó¥í¡¼¥É¡¦²òÅष¡¢¥¯¥é¥¹¥Ñ¥¹¤ÎÄ̤äƤ¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ØÃÖ¤¯
ÌÌÅݤʤΤǡ¢/usr/share/java/¤Î²¼¤ËÃÖ¤¤¤¿¡£
Ãí¡§ UTF-8¤Ç´Á»ú¤â£Ï£Ë¤À¤Ã¤¿¡£
¾åµ¤Î¥Ö¥í¥°¤Ë¤â¥µ¥ó¥×¥ë¤¬¤¢¤ë¡£
Excel¥Õ¥¡¥¤¥ë¤Î¿·¤·¤¤¡Ê2007°Ê¹ß¡©¡Ë.xlsx¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤Ï¡¢¥é¥¤¥Ö¥é¥êXSSF¤ò»È¤¦¡£ ¸Å¤¤.xls¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤ÏHSSF¤ò»È¤¦¡£°ì½ï¤Ë¡Êº®¤¼¤Æ¡ËÂбþ¤Ï¤Ç¤¤ë¤Î¤«¤ÏÉÔÌÀ¡£¤³¤³¤Ç¤Ï¡¢XSSF¤Î¤ßÂбþ¡£
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.awt.Color; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.apache.poi.xssf.usermodel.XSSFColor; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ReadWriteSample { public static void main(String[] args) throws Exception { FileInputStream is = new FileInputStream("/home/yamanouc/src/poi/cali/bunshi.xlsx"); // ¥Õ¥¡¥¤¥ëÆÉ¤ß¹þ¤ß XSSFWorkbook wb = new XSSFWorkbook(is); // ¥ï¡¼¥¯¥Ö¥Ã¥¯¤Ë¼è¤ê¹þ¤à XSSFSheet sheet = wb.getSheetAt(0); // ¥·¡¼¥È£°ÈÖ¤ò¼è¤ê¤À¤¹ XSSFCell cell = sheet.getRow(0).getCell(0); //¡¡¥»¥ë(0,0)¡áA1¤ò»ØÄê System.out.println(cell.getStringCellValue()); // ¥»¥ëA1¤ÎÆâÍÆ¤ò¡¢Ê¸»úÎó¤È¤·¤ÆÆÉ½Ð¤· // System.out.println(cell.getNumericCellValue()); //¿ôÃÍ¥»¥ë¤Î¾ì¹ç // cell.setCellValue(cell.getNumericCellValue() +5); //¥»¥ë¤ò½ñ¤ÊѤ¨¤ë¾ì¹ç // cell.setCellValue('¤¢¤¤¤¦'); // ʸ»ú¤ò½ñ¤¤³¤ß¤¿¤¤¤È¤ XSSFCellStyle cellstyle = wb.createCellStyle(); // CellStyle¤òºî¤Ã¤Æ¤ª¤¯ cellstyle.setFillPattern(XSSFCellStyle.BIG_SPOTS); //FINE_DOTS¤È¤«¤¤¤í¤¤¤íÁªÂò¤Ç¤¤ë cellstyle.setFillForegroundColor(new XSSFColor(new java.awt.Color(128,0,128))); // RGB¤Ç¿§(Foregroud)¤ò»ØÄê cell.setCellStyle(cellstyle); // ¤³¤ì¤Çcell¤ËÂФ·¤Æ¥¹¥¿¥¤¥ë¤òÀßÄê is.close(); FileOutputStream os = new FileOutputStream("/home/yamanouc/src/poi/cali/newversion.xlsx"); wb.write(os); // ¥Õ¥¡¥¤¥ë¤Ë½ñ¤½Ð¤· } }
¥»¥ë¤Î¥¹¥¿¥¤¥ë¥×¥í¥Ñ¥Æ¥£¡ÊÅɤê¤Ä¤Ö¤·¤È¤«¿§¤È¤«¡Ë¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
XSSFCellStyle cellstyle = wb.createCellStyle(); // CellStyle¤òºî¤Ã¤Æ¤ª¤¯ cellstyle.setFillPattern(XSSFCellStyle.BIG_SPOTS); //FINE_DOTS¤È¤«¤¤¤í¤¤¤íÁªÂò¤Ç¤¤ë cellstyle.setFillForegroundColor(new XSSFColor(new java.awt.Color(128,0,128))); // RGB¤Ç¿§(Foregroud)¤ò»ØÄê cell.setCellStyle(cellstyle); // ¤³¤ì¤Çcell¤ËÂФ·¤Æ¥¹¥¿¥¤¥ë¤òÀßÄê
Åɤê¤Ä¤Ö¤·¥Ñ¥¿¡¼¥ó¤Î»ØÄê¤Ï¡¢setFillPattern¤Ç¹Ô¤¦¡£¥Ñ¥¿¡¼¥ó¤ÎÁªÂò»è¤Ï¡¢
ALT_BARS, BIG_SPOTS, BRICKS, DIAMONDS, FINE_DOTS, LEAST_DOTS, LESS_DOTS, NO_FILL, SOLID_FOREGROUND, SPARSE_DOTS, SQUARES, THICK_BACKWARD_DIAG, THICK_FORWARD_DIAG, THICK_HORZ_BANDS, THICK_VERT_BANDS, THIN_BACKWARD_DIAG, THIN_FORWARD_DIAG, THIN_HORZ_BANDS, THIN_VERT_BANDS
¿§¤Î°·¤¤¤Ï¡¢·è¤Þ¤Ã¤¿¿§¤Ç»ØÄꤹ¤ë¤«¡¢RGB¤Ç»ØÄꤹ¤ë¤«¤Î¤¤¤º¤ì¤«¡£·è¤Þ¤Ã¤¿¿§¥Ñ¥¿¡¼¥ó¤Ï¡¢org.apache.poi.ss.usermodel.IndexedColors¡¡¤Ë¤¢¤Ã¤Æ¡¢
AQUA AUTOMATIC BLACK BLUE BLUE_GREY BRIGHT_GREEN BROWN CORAL CORNFLOWER_BLUE DARK_BLUE DARK_GREEN DARK_RED DARK_TEAL DARK_YELLOW GOLD GREEN GREY_25_PERCENT GREY_40_PERCENT GREY_50_PERCENT GREY_80_PERCENT INDIGO LAVENDER LEMON_CHIFFON LIGHT_BLUE LIGHT_CORNFLOWER_BLUE LIGHT_GREEN LIGHT_ORANGE LIGHT_TURQUOISE LIGHT_YELLOW LIME MAROON OLIVE_GREEN ORANGE ORCHID PALE_BLUE PINK PLUM RED ROSE ROYAL_BLUE SEA_GREEN SKY_BLUE TAN TEAL TURQUOISE VIOLET WHITE YELLOW
¤³¤ì¤é¤Î¿§¤ò»ØÄꤷ¤¿¤¦¤¨¤Ç¡¢¥á¥½¥Ã¥ÉgetIndex()¤Ç¡¢¤³¤³¤Ç»È¤¨¤ëshort¤ÎÃͤò¼è¤ê¤À¤¹¡£
setFillForegroundColor(IndexedColors.MAROON.getIndex()); setFillBackgroundColor(IndexedColors.SKY_BLUE.getIndex());
¤³¤Î¤Û¤«¡¢java.awt.Color¤Ç¤Î¿§»ØÄ꤬»È¤¨¤ë¡£
setFillForegroundColor(new XSSFColor(new java.awt.Color(128,0,128)));
org.apache.poi.ss.usermodel¤Ë´Þ¤Þ¤ì¤ëRow¤äCell¡¢org.apahce.poi.ss.util¤Ë´Þ¤Þ¤ì¤ëCellReference¤ò»È¤Ã¤Æ
for (Row row:sheet) { // Á´Éô¤Î¹Ô¤ò¤Ê¤á¤ë for (Cell cell:row) {// Á´Éô¤Î¥»¥ë¤ò¤Ê¤á¤ë CellReference cellRef = new CellReference(row.getRowNum(), cell.getColumnIndex()); System.out.print(cellRef.formatAsString()); System.out.println(cell.getStringCellValue()); } }
¤È¤¤¤¦¤³¤È¤¬¤Ç¤¤ë¡£
¤ä¤ê¤¿¤¤¤³¤È¤Ï¡¢¥·¡¼¥È¤Î¾å¤Ë¤¢¤ë¥»¥ë¥¨¥ó¥È¥ê¤ÎÃÍ¡Êʸ»úÎ󤬯þ¤Ã¤Æ¤¤¤ë¡Ë¤òÊÝ»ý¤·¤Æ¤ª¤¤¤Æ¡¢ÊÌ¥Õ¥¡¥¤¥ë¤«¤éÆþÎϤ·¤¿Ê¸»úÎó¤ÈÈæ³Ó¤·¤Æ¡Êµ¼¡Ë°ìÃפ·¤¿¾ì¹ç¤Ë¤Ï¡¢¿§¤òÊѤ¨¤ë½èÍý¤ò¤¹¤ë¤³¤È¡£
¤³¤Î¤È¤¡¢¤É¤ó¤Ê¥»¥ë¥¨¥ó¥È¥êʸ»úÎ󤬤¢¤ë¤«¤òHashMap¤Ë¡ãʸ»úÎó¡¢(¥»¥ë£Ø, ¥»¥ë£Ù)¡ä¤Î·Á¤ÇÊÝ»ý¤·¤Æ¤ª¤¤¤Æ¡¢¸å¤Ç°ìÃפò°ú¤±¤Ð¤¤¤¤¤À¤í¤¦¡£¡Ê¥µ¡¼¥Á¤Ê¤ó¤Æ¤·¤¿¤¯¤Ê¤¤¤«¤é¡Ë
¤Ç¡¢HashMap¥¿¥¤¥×¤Îvalue¥¨¥ó¥È¥ê¤Ë¡¢À°¿ô¤Î¥Ú¥¢¡Ê£Ø, £Ù¡Ë¤òÆþ¤ì¤¿¤¤¡£
import java.lang.reflect.*; import java.util.HashMap; import java.util.ArrayList; class testHashMap { public static void main(String args[]){ HashMap<String,ArrayList<Integer>> map = new HashMap<String,ArrayList<Integer>>(); ArrayList<Integer> pair = new ArrayList<Integer>(); pair.add(1); pair.add(3); map.put("¤ê¤ó¤´", pair); ArrayList<Integer> pair2= new ArrayList<Integer>(); pair2.add(5); pair2.add(6); map.put("¤Ö¤É¤¦", pair2); if (map.containsKey("¤ê¤ó¤´")){ System.out.print("¤ê¤ó¤´=>"); System.out.println(map.get("¤ê¤ó¤´")); }else{ System.out.println("»ØÄꤷ¤¿¥¡¼¤Ï¸ºß¤·¤Þ¤»¤ó"); } } }
»²¾È¥Ú¡¼¥¸¤Ï¡¢
¤³¤³¤Ç¤Î¼ºÇÔ
pair2¤òºî¤ë¤Î¤¬áû¤À¤Ã¤¿¤Î¤Ç¡¢Æ±¤¸¥¤¥ó¥¹¥¿¥ó¥¹¤ò»È¤Ã¤Æ¡¢ÆâÍÆ¤ò¾Ã¤·¤Æ¡¢¤Ö¤É¤¦¤Ë¤â»È¤¤¤Þ¤ï¤½¤¦¤È»×¤Ã¤¿¤Î¤À¤¬¡¢
ArrayList<Integer> pair = new ArrayList<Integer>(); pair.add(1); pair.add(3); map.put("¤ê¤ó¤´", pair); pair.clear(); <<--- pair¤òºÆÍøÍѤ¹¤ë¡Ê¥ê¥¹¥È¤ò¶õ¤Ë¤·¤Æ¡Ë pair.add(5); pair.add(6); map.put("¤Ö¤É¤¦", pair);
¤³¤ì¤Ï¡¢ÅöÁ³¥À¥á¡£map¤ÎÆâÍÆ¤Ï¥Ý¥¤¥ó¥¿¤À¤±¤Ç¡¢¤½¤ÎÀè¤Ï£±¤Ä¤·¤«¤Ê¤¤pair¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¸þ¤¤¤Æ¤¤¤ë¤«¤é¡¢¤ê¤ó¤´¤ÎÊý¤âÃͤÏ(5, 6)¤Ë¤Ê¤Ã¤Æ¡¢¥Á¥ã¥ó¥Á¥ã¥ó¡£¤¢¤Þ¤ê¤Ëñ½ã¤Ê´Ö°ã¤¤¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢Ê̤Υ¤¥ó¥¹¥¿¥ó¥¹pair2¤¬É¬ÍפÀ¤Ã¤¿¡£¡Ê¤«¡¢¥³¥Ô¡¼¤·¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤òºî¤êľ¤¹¤«¡Ë
¤¸¤ã¤¢¡¢new¤Çºî¤ì¤Ð¤¤¤¤¤ó¤Ç¤·¤ç¡¢¤È¤¤¤¦¤Î¤Ï¡¢
ArrayList<Integer> pair = new ArrayList<Integer>(); pair.add(1); pair.add(3); map.put("¤ê¤ó¤´", pair); ArrayList<Integer> pair = new ArrayList<Integer>(); <<<---ºî¤ê¤Ê¤ª¤¹ pair.add(5); pair.add(6); map.put("¤Ö¤É¤¦", pair);
¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥À¥á¡£
testHashMap.java:12: ¥¨¥é¡¼: ÊÑ¿ô pair¤Ï¤¹¤Ç¤Ë¥á¥½¥Ã¥É main(String[])¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹ ArrayList<Integer> pair= new ArrayList<Integer>(); ^
¤³¤Î¼ê¤¬¤¢¤Ã¤¿¡££²¤Ä¤Î¥Ý¥¤¥ó¥È¡£Íפ¹¤ë¤Ëpair¤È¤¤¤¦Ì¾Á°¤ò¤Ä¤±¤¿¤¯¤Ê¤¤¤Î¤À¤«¤é¡¢put¤Î°ú¿ô¤È¤·¤Ænew¤òľÀܤ˽ñ¤¤¤Æ¤·¤Þ¤¤¤¿¤¤¡£new¤Ç¸Æ¤Ð¤ì¤ë¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë¡¢¥ê¥¹¥ÈÍ×ÁǤÎÃͤòÍ¿¤¨¤Æ¡¢ArrayList¤òºî¤ê¤¿¤¤¡£
¤³¤ó¤Ê¥Ú¡¼¥¸¤ò»²¾È¤·¤Þ¤·¤¿¡£¡¡¡¡Java¸À¸ì¤Ç¸ÇÄêÍ×ÁǤÎList¤ò½é´ü²½¤¹¤ëºÝ¤Î¥¤¥Ç¥£¥ª¥à¡£
import java.lang.reflect.*; import java.util.*; class testHashMap2 { public static void main(String args[]){ HashMap<String,List<Integer>> map = new HashMap<String,List<Integer>>(); map.put("¤ê¤ó¤´", new ArrayList<Integer>(Arrays.asList(1,3))); map.put("¤Ö¤É¤¦", new ArrayList<Integer>(Arrays.asList(5,6))); if (map.containsKey("¤ê¤ó¤´")){ System.out.print("¤ê¤ó¤´=>"); System.out.println(map.get("¤ê¤ó¤´")); }else{ System.out.println("»ØÄꤷ¤¿¥¡¼¤Ï¸ºß¤·¤Þ¤»¤ó"); } } }
import java.io.FileInputStream; import java.io.InputStream; import java.lang.reflect.*; import java.util.*; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class ExtractMapEntries { public static void main(String[] args) throws Exception { if (args.length != 1) { System.out.println("°ú¿ô¤Î¸Ä¿ô¤Ï£±¤Ä¤Ë¤·¤Æ¤¯¤À¤µ¤¤"); System.exit(0); } InputStream is = new FileInputStream(args[0]); Workbook wb = WorkbookFactory.create(is); Sheet sheet = wb.getSheetAt(0); HashMap<String,List<Integer>> map = new HashMap<String,List<Integer>>(); for (Row row:sheet) { // Á´Éô¤Î¹Ô¤ò¤Ê¤á¤ë for (Cell cell:row) {// Á´Éô¤Î¥»¥ë¤ò¤Ê¤á¤ë // System.out.print(String.valueOf(cell.getRowIndex()) + '-' + String.valueOf(cell.getColumnIndex())); // System.out.println(cell.getStringCellValue()); //¤³¤ó¤ÊÉ÷¤Ë°õºþ¤Ç¤¤ë Integer R = Integer.valueOf(cell.getRowIndex()); // R¤È¤«C¤Ë¼è¤ê½Ð¤¹É¬Íפâ̵¤¤¤Î¤À¤¬Ä¹¤¯¤Ê¤ë¤Î¤Ç Integer C = Integer.valueOf(cell.getColumnIndex()); String V = cell.getStringCellValue(); map.put(V, new ArrayList<Integer>(Arrays.asList(R,C))); } } //map¤ÎÆâÍÆ¤òÁ´Éô½ñ¤½Ð¤¹¡£keSet¤ò¥¤¥Æ¥ì¡¼¥¿¤Î¤è¤¦¤Ë»È¤Ã¤Æ¡£ for (String key : map.keySet()) { System.out.println("[" + key + "]" + " " + Integer.toString((map.get(key)).get(0)) + " " + Integer.toString((map.get(key)).get(1)) ); // map¤«¤éget(key)¤·¤¿ÆâÍÆ¤Ï£²Í×ÁǤÎList¤Ê¤Î¤Ç¡¢¤½¤ÎÍ×ÁÇ(0)¤È(1)¤ò¼è¤ê½Ð¤¹¡£ // Í×ÁǤÏInteger¤Ê¤Î¤Ç¡ÊList¤Ë¤¹¤ë»þ¤Ëint¤Ç¤Ï¤Ê¤¯¤ÆInteger¤Ë¤·¤¿¡ËtoString¤ÇString·¿¤Ë¤¹¤ë } } }
½èÍý·ë²Ì¤Î¥¤¥á¡¼¥¸¤Ï¡¢¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤Ã¤¿¡£
[] 172 20 [Êü¼ÍÀþÀ¸Êª³Ø] 119 14 [¼Â¸³Æ°Êª³Ø¼Â½¬] 162 16 [¡¦Ê¸Íý·Ï¤òͤ¨¤ÆÉáÊ×Ū¤Ê¡ÖÃΡפò¹½ÃÛ¤¹¤ëǽÎϤò] 8 4 [ʬÀϲ½³Ø] 90 8 [ʪÍý³Ø¼Â¸³] 148 16 [¡¦Â¾¼Ô¤ËÂФ¹¤ë´Ø¿´¤ä¼Ò²ñ¤Îư¤¤Ê¤É¡¢¹â¤¤ÃÎŪ] 10 4 [µ¡´ïʬÀϲ½³Ø] 150 16 [±Ñ¸ìA£´] 34 8 [²ÊÌÜ·²¤Ç¿È¤Ë¤Ä¤±¤ëǽÎÏ] 83 4 [±Ñ¸ìB£´] 34 12 [±Ñ¸ìB£³] 33 12 [ʬ»ÒÀ¸Êª³Ø] 97 10 [ʬ»ÒÀ¸Íý³Ø] 147 16 [¿ôÍý²Ê³ØÆÃÏÀB£²] 25 12 [¿¢ÊªÀ¸Íý I] 106 8 [·ÏÅýÀ¸Êª³Ø] 106 6 [͵¡Ê¬ÀÏË¡] 150 14 [ʬ»Ò°äÅÁ³Ø] 96 16 [ÎϤò¿È¤Ë¤Ä¤±¤ë¡£] 59 4 [³¤³°Âθ³¥×¥í¥°¥é¥à¶] 73 6 [³¤³°Âθ³¥×¥í¥°¥é¥àµ] 72 6 [²Ê³ØÅ¯³Øµ] 18 6 [´ðÁÃÀ¸Êª³Ø] 107 6 [Îò»Ë³Øµ] 11 6 [´ðÁÃÀ¸Íý³Ø] 147 8 [Îò»Ë³Ø¶] 11 8 [À¸ÊªÊ¬»Ò²Ê³Ø¼Â¸³ II] 137 10 [Î×¾²·ì±Õ³Ø¼Â½¬] 156 20 [¶µÍܶµ°é²ÊÌÜ] 8 0 [À¸ÊªÌµµ¡²½³Ø] 87 12 [£±Ç¯¼¡] 83 6 [À¸²½³Ø II] 96 12 [À¸ÊªÊ¬»Ò²Ê³ØÆÃÏÀ III] 130 16 [À¸ÊªÊ¬»Ò²Ê³Ø¼Â¸³ IV] 138 10 [·ì±Õ³Ø] 156 14 [¿¿ô¤Î²½³ØÈ¿±þ¤Î½¸ÀѤǤ¢¤ëÀ¸Ì¿¸½¾Ý¤Ë¤Ä¤¤¤ÆÍý²ò¤ò¿¼¤á¤ë¤¿¤á¤Ë¡¢½éǯ¼¡¤Ç¤ÏÀìÌçʬ Ìî¤Î´ðÁóØÎϤ䥹¥¥ë¤ò½¤ÆÀ¤·¡¢£²¡Á£³Ç¯¼¡¤Ç¤Ï¿ºÌ¤Ê¼Â¸³²ÊÌܤȹâÅÙ¤ÊÀìÌç²ÊÌܤò½¤ÆÀ¤¹¤ë¡££´Ç¯¼¡¤Ç¤Ï¿È¤Ë¤Ä¤±¤¿ÀìÌçÃμ±¤È¥¹¥¥ë¤ò¤â¤È¤Ë´¶È¸¦µæ¤Ë¤è¤Ã¤ÆÌäÂê²ò·èǽÎϤò¿È¤Ë¤Ä ¤±¤ë¡£] 1 0 [ÃϳØ] 128 10 [À¸ÊªÊ¬»Ò²Ê³Ø²Ê] 0 16 [ɸ¶ÈùÀ¸Êª³Ø] 153 16 [¥¥ã¥ê¥¢¥Ç¥¶¥¤¥ó·] 63 12 [£³Ç¯¼¡] 83 14