透過Java解析Excel檔案

也是一個工作中遇到的情境,很多單位想讓內部人員利用Excel維護資料(因為維護上比較簡單方便),且想讓這份資料透過網頁呈現給一般網友閱讀,所以整體後端的流程應該是:

  1. 將維護的Excel透過網頁介面上傳
  2. 將上傳的Excel轉換成XML
  3. 網頁去讀取這份XML來呈現

透過以上的三個步驟,就可以完成客戶想要效果。

本範例展示的是讀取Excel的XLS格式(新版Excel為XLSX格式),並轉換成陣列的方法(寫入XML在前面的範例就有了),我們選用讀取Excel的Library是Apache POI,而檔內已經有以下的資料,其中Total是公式欄位,計算Price x Quantity:

IDNamePriceQuantityTotal
100001產品名稱110550
100002產品名稱22010200
100003產品名稱33015450

以下是讀取的程式範例:

package CDIT.stanley;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
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 excelToXMLFullSample {
	
	static ArrayList<ArrayList<String>> excelData = new ArrayList<ArrayList<String>>();
	
	public static void main (String[] args) throws FileNotFoundException{
		
		excelData.clear();
	    
	    String xlsPath = "C:\\Projects\\Javas\\sample.xls";
	    InputStream inputStream = null;
	    inputStream = new FileInputStream (xlsPath);
		POIFSFileSystem fileSystem = null;
	    try {
	        fileSystem = new POIFSFileSystem (inputStream);
			@SuppressWarnings("resource")
			HSSFWorkbook workBook = new HSSFWorkbook (fileSystem);
	        HSSFSheet sheet = workBook.getSheetAt (0);
	        Iterator<?> rows = sheet.rowIterator ();
	        
	        while (rows.hasNext ()){
	            HSSFRow row = (HSSFRow) rows.next();
	            Iterator<?> cells = row.cellIterator ();

	            ArrayList<String> rowData = new ArrayList<String>();
	            
	            while (cells.hasNext ()){
	                HSSFCell cell = (HSSFCell) cells.next();
	                
	                switch (cell.getCellTypeEnum()){
		                case STRING :{
		                    rowData.add(cell.getStringCellValue());
		                    break;
		                }
		                case NUMERIC : {
		                    rowData.add((int)cell.getNumericCellValue() + "");
			                break;
		                }
		                case FORMULA :{
		                	switch(cell.getCachedFormulaResultTypeEnum()) {
			                    case STRING:
			                    	rowData.add(cell.getStringCellValue ());
			                        break;
			                    case NUMERIC:
			                    	rowData.add((int)cell.getNumericCellValue() + "");
			                        break;
					default:
						rowData.add("");
						break;
		                	}
		                }		                
			default:
				rowData.add("");
				break;
	                }
	            }
	            excelData.add(rowData);
	        }
	    } catch(IOException e){
	        System.out.println("IOException " + e.getMessage());
	        System.out.println("轉換失敗,請檢查Excel檔案與格式是否正確");
	    }
	    for(int i=0 ; i<excelData.size(); i++){
	    	System.out.println("Excel Row "+ i +" Data : " + excelData.get(i));
	    }
	    
	}
}

程式會把Excel內的資料轉換為ArrayList,輸出內容如下:

Excel Row 0 Data : [Product ID, Product Name, Product Price, Quantity, Total]
Excel Row 1 Data : [100001, 產品名稱1, 10, 5, 50, ]
Excel Row 2 Data : [100002, 產品名稱2, 20, 10, 200, ]
Excel Row 3 Data : [100003, 產品名稱3, 30, 15, 450, ]

You may also like...

14,743 Responses

  1. RobertBlica表示:

    http://levitraenligne.com/# acheter médicament en ligne sans ordonnance

  2. Uksxzb表示:

    loratadine focus – claritin confusion claritin pills catch

  3. Отличный сайт! Рекомендую заглянуть тудаСтроительный консалтинг

  4. SShaneevige表示:

    Аттестат 2022 9 Класс
    К аттестату 2022 9 Класс необходимо подходить аккуратно и ответственно, ведь о качестве “корочки” будет зависеть раскроет ваше приобретение работодатель или нет. Заказывайте у нас диплом бакалавра экономики или другого направления, и воплощайте в жизнь свою мечту. Благодаря таким связям, мы предоставляем вам только настоящие дипломы-оригиналы, изготовляемые непосредственно в учебных заведениях, а не в простых типографиях. Чтобы вы увидели даже невидимые знаки, которые может искать проверка, мы ещё до отправки можем просветить ваш заказ ультрафиолетом. Бакалавриат – первый образовательно-квалификационный уровень высшего образования.
    russkiy365-diploms-srednee.ru
    Продажа Дипломов
    Обращаясь к нам, с целью купить диплом, вы гарантировано получаете: отличное качество помимо идеального внешнего вида и наличия всех необходимых знаков, печатей и голограмм, мы предоставляем своим клиентам дипломы, изготовленные на натуральном гознаке. Обучение длиться 2 класса, и по его завершению у выпускника, в отличие от школьника, уже есть средне-специальное образование. Ведь, кроме работы в аптеке, такому специалисту открыты дороги во многие сферы.
    Купить Диплом О Среднем Техническом Образовании В Воронеже
    Менеджеры сайта оперативно свяжутся с клиентом, чтобы обсудить детали заказа и оказать консультационные услуги. Кроме того, мы предлагаем купить диплом университета с одновременной покупкой Приложения к диплому, возможно, удостоверения о повышении квалификации, сертификата специалиста. На нем будут отображены ваши ФИО, а также стоять росписи ответственных лиц. Как указано выше, стоит посмотреть статистку, и становится ясно, что с дипломом техникума либо колледжа найти хорошую работу не является проблемой.

  5. SLewisslund表示:

    Диплом О Высшем Образовании 2015
    Для того, чтобы купить диплом о высшем образовании в Москве, Вам необходимо будет просто связаться с нашими менеджерами. В современном мире, где образование играет ключевую роль в жизни человека, диплом о высшем образовании стал не просто билетом в мир престижных профессий, но и зачастую обязательным условием для получения даже самой простой работы. “При этом должностные лица выдавшие такой диплом, как и покупатель, могут получить срок за мошенничество”, – сказал он. Вряд ли существуют люди, которым никогда не приходилось сталкиваться с фармацевтами и провизорами, ведь мы постоянно встречаем в аптеках этих специалистов. Вы получите повышение, откроете прибыльный бизнес, Вас будут ещё больше уважать коллеги и друзья.
    http://https://orik24-diploms-srednee.ru
    Аттестат С Отличием 11 Класс 2018
    На данный момент в России не существует какой-либо базы образовательных документов, в том числе и дипломов. Несмотря на то, что такая полиграфическая продукция уже не выпускается предприятиями Гознака, купить диплом о неполном образовании можно в нашей компании быстро и недорого. Мы печатаем документы на оригинальных бланках с серией и номером, они содержат оригиналы подписей и печатей и ничем не отличаются от аналогов, выданных учебным заведением. Как правило, оказавшиеся в подобной ситуации сотрудники работают с полной отдачей, получая достойное вознаграждение и полнейшее моральное удовольствие от выполняемой работы, что приносит фирме высокие дивиденды.
    Диплом Массажиста
    Мы готовы изготовить диплом техникума буквально за 23 дня, а дальше все зависит от того, где вы живете и какой способ доставки выберете. Стаж научной и практической работы с 2009 года, как себя вести при измене мужа: советы психолога для женщин, что делать, если вас неотвратимо влечет к другому человеку. Вы сможете узнать, как лучше купить диплом вуза и на что стоит обратить внимание при завершении подобной сделки.

  6. Allenacurf表示:

    pharmacie en ligne livraison europe: pharmacie en ligne – pharmacies en ligne certifiГ©es

  7. Usata表示:

    Soccervista predictions are accurate and reliable predictions for soccer enthusiasts and bettors. These predictions empower bettors to accurately place bets. With Soccervista as your guide, you are assured of winning. Soccervista bet of the day is one of the top predictions that we provide. We ensure that all Soccervista predictions are well-analyzed before we share them. This platform provides both Free Soccervista predictions as well as premium Soccervista tips. Soccervista tips are football predictions that forecast the outcome of soccer matches. We offer analysis, statistics, and tips for Soccervista tips daily. These tips can help users make informed decisions when placing bets or predicting the outcome of soccer games. By utilizing Soccervista tips, users can increase their chances of winning bets or accurately predicting the outcome of soccer matches. NewSoccervister tips include bet of the day soccervista predictions today, sure wins, sure draws, BTTS GG as well as correct score. Additionally, we also provide Soccervista 24 prediction today, tomorrow and the weekend.
    https://high-wiki.win/index.php?title=Mybookie_sports_betting
    Catch all of the action at the TOUR Championship from Thursday, August 24 through Sunday, August 27. Terms and Conditions Scheffler is obviously the heavy favorite to win the FedEx Cup and is also deservedly a co-favorite to post the lowest 72-hole score. However, it’s hard to feel comfortable backing the World No. 1 at +145 and hoping he can hang on to his pre-tournament lead for four days. Update Wednesday: The Golf Digest staff and betting contributors have two selections on Rory McIlroy to win (+330 with strokes), and three taking Sungjae Im to win low 72-hole score (+1000 without strokes). Scottie Scheffler and Jon Rahm are popular picks to fade when betting to win. For most of the general public, PGA Tour golf is known as a slowpoke’s game. However, gamblers must wait far less time on-average for PGA Tour futures bets to pay off compared to futures wagers on other sports, since bets placed on Wednesday prior to a tournament will either win or lose only 5 days in the “future.” Long-term futures odds are available on golf’s major championships in addition to the FedEx Cup and Ryder Cup.

  8. fortnitehacks表示:

    I might also like to state that most of those who find themselves without the need of health insurance are normally students, self-employed and those that are laid-off. More than half in the uninsured are really under the age of 35. They do not experience they are wanting health insurance because they are young and healthy. The income is normally spent on property, food, and entertainment. Many people that do work either whole or part time are not made available insurance through their work so they proceed without due to rising cost of health insurance in the us. Thanks for the thoughts you discuss through this blog.

  9. IgnacioSlima表示:

    п»їpharmacie en ligne france: cialis sans ordonnance – pharmacie en ligne fiable

  10. EdwardGROOM表示:

    Viagra sans ordonnance 24h Amazon: viagra en ligne – Viagra sans ordonnance pharmacie France

  11. EdwardGROOM表示:

    pharmacie en ligne france livraison belgique: Medicaments en ligne livres en 24h – acheter mГ©dicament en ligne sans ordonnance

  12. casino_rkSt表示:

    nederlandse casinos online nederlandse casinos online .

  13. FobertWen表示:

    Кем Можно Работать С Дипломом Историка
    Оплата осуществляется уже по факту получения диплома на руки наличными курьеру или наложенным платежом в почтовом отделении. Если вы оплатили покупку перед получением, есть огромная вероятность не получить ничего или обзавестись бесполезной бумажкой. Если такой не имеется, то небольшое письмо с указанием вида деятельности, в котором бы хотели развиваться и почему. Большинство молодых людей трудоустраиваются не по выбранной ранее профессии. Кроме того, чтобы сдать экзамен требуется выложить определенную сумму, так как даже отличные знания не гарантируют положительного балла, а купить диплом в Питере можно по вполне приемлемой цене, да и к тому же с доставкой. Для более точного подбора специализации мы предлагаем заполнить специальную анкету.
    http://www.russkiy365-diploms-srednee.ru
    Доверенность На Управление
    Купить диплом в Нижнем Новгороде по доступной цене, а ведь от последнего качества зависит тоже многое, так возникает необходимость купить документ об образовании. При оформлении заказа вам необходимо учитывать, какой именно документ вам необходим: старого или нового образца, образца до 1996 года или нынешнего, 2020-го. В последствии чего попросят написать заявлении по собственному желанию.
    Диплом О Высшем Образовании Корочка
    Когда-то такое могли позволить себе только государственные чиновники. Главные принципы нашей работы это прозрачность во всем и удобство клиента. В жизни бывают разные ситуации, когда нужна срочная помощь специалиста. Но так было раньше, сейчас можно купить диплом в Томске, Уфе и вообще в любом городе России.

  14. Shaneevige表示:

    Диплом Энергетика

    Диплом Энергетика
    Вы открыли весьма неплохой диплом Энергетика ПГС, где возводится 9-этажный жилой дом с административными помещениями. При получении заказа убедитесь, что диплом соответствует образовательным и государственным стандартам. Серьезная компания, также же серьезно относится и к своему имиджу, частью которой является и интернет ресурс. Вам приходится столкнуться с такой ситуацией, когда вам предлагают купить диплом Энергетика, без его получения. Однако, такова жизнь, что для приема на работу и для продвижения по карьерной лестнице необходимо соблюдать формальности.
    russkiy365-diploms-srednee.ru
    Фото Диплома О Высшем Образовании
    Никогда подделку сомнительного качества за настоящий бланк не выдавали. И всё это в энергетик возможности стабильно зарабатывать денежные средства, полноценно отдыхать, питаться, заниматься интересным делом. Если у вас нет желания и возможности обучаться в современных высших учебных заведениях, но получить должность в хорошей компании хочется, то диплом Энергетика есть купить диплом института.
    Диплом 2018
    Купить диплом МПГУ – или любого ВУЗа России. Купить диплом Энергетика МГУТУ – или любого ВУЗа России. Купить диплом РГГУ – или любого ВУЗа России.

  15. casino_pdSt表示:

    Beste online casino netherland https://bestegokautomaten.nl .

  16. SShaneevige表示:

    Купить Диплом О Среднем Техническом Образовании В Томске
    В стандартных условиях, для получения диплома медсестры потребуется окончить медицинский колледж по специальности: сестринское дело. Государственный бланк свидетельства о высшем образовании и дополнение к нему имеют все соответствующие подлиннику атрибуты. Отсутствие этого документа мешает при попытках получить высокооплачиваемую должность, даже если вы являетесь трижды специалистом. Мой друг приехал учиться в Питер из-за рубежа, но устроился на работу и зарабатывал деньги. Или у вас в компании кадровая перестановка, и ваше резюме полностью подходит на роль кандидата на главенствующий пост. Она всегда мечтала работать и жить в большом городе, и вот однажды ей удалось устроиться в одну из городских фирм, в которой она проработала много лет. Многие наши клиенты рассчитывают на покупку диплома для того, чтобы устроиться на работу в престижной компании.
    http://www.russkiy365-diploms-srednee.ru
    Купить Диплом В Ульяновске
    Если вас также интересует подобная возможность, то вам потребуется сообщить ряд сведений. Причин для этого может быть множество, будь то возраст или состояние здоровья, или же просто нет желания. Место государственной регистрации рождения: орган ЗАГС по месту рождения ребенка или по месту жительства родителей (одного из родителей).
    Справка Для Студентов
    На различных платформах с отзывами можно ознакомится с отзывами об этой компании. Главное иметь на это желание и деньги, ведь это самая лучшая инвестиция в будущее. При этом числиться документ не будет ни в одном архиве, диплом об окончании вуза любого года на бланке гознак, Купить диплом в Москве имеет свои преимущества, одним из важных вопросов при покупке диплома является доставка, купить высшее образование в россии: миф или реальность.

  17. Tente a sua sorte neste cassino Fortune Tiger

  18. Heya i am for the first time here. I came across this board and I find It really helpful & it helped me out a lot. I am hoping to give one thing again and help others such as you aided me.

  19. Allenacurf表示:

    Viagra femme ou trouver: viagra en ligne – Prix du Viagra 100mg en France

  20. RobertBlica表示:

    https://viaenligne.com/# Viagra sans ordonnance 24h

  21. IgnacioSlima表示:

    Pharmacie Internationale en ligne: pharmacie en ligne france livraison belgique – pharmacie en ligne sans ordonnance

  22. EdwardGROOM表示:

    п»їpharmacie en ligne france: Levitra 20mg prix en pharmacie – vente de mГ©dicament en ligne

  23. IgnacioSlima表示:

    Pharmacie Internationale en ligne: kamagra gel – Pharmacie sans ordonnance

  24. Escolha este cassino confiavel Fortune Tiger

  25. Allenacurf表示:

    pharmacie en ligne france pas cher: cialis prix – pharmacie en ligne livraison europe

  26. Cassinos com condicoes favoraveis Fortune Tiger

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。