透過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...

17,898 Responses

  1. Профессиональный сервисный центр по ремонту духовых шкафов в Москве.
    Мы предлагаем: ремонт дверцы духовки
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  2. ClementSax表示:

    Адвокаты Москвы
    бесплатная юридическая консультация круглосуточно
    адвокат медицинский
    международник юрист
    основания и порядок признания брака недействительным
    бесплатный юрист
    юрист по наследственным делам
    таможенный юрист
    помощь юриста бесплатная
    гражданский юрист
    адвокат по правам наследства

    Мы успешно защищаем права и свободы юридических и физических лиц. Колоссальный и зачастую уникальный опыт, а также высокая квалификация наших сотрудников позволяют нам достигать результата, в максимальной степени отвечающего интересам клиента. Наши специалисты состоят в адвокатской палате которая на сегодняшний день является наиболее авторитетной в России. Благодаря многочленным блистательным победам в громких и, по мнению многих, бесперспективных делах, наши сотрудники снискали уважение не только в РФ, но и за рубежом.
    Если вам нужен адвокат в Москве просто обратитесь к нам и вы получите квалифицированную помощь в решении ваших проблем. Как показывает практика, в большинстве дел, в которых принимали участие наши адвокаты, суд выносил решение в пользу их клиентов. Кроме того, мы осуществляем страхование своей ответственности на 5 млн рублей. Такие гарантии вам не предложит ни одна юридическая компания.

    Стоит отметить, что за все то время, что работает наша компания не было прецедента, когда в результате действий наших специалистов клиенту был бы нанесен ущерб и возникла необходимость в страховой поддержке.

  3. Timothydom表示:

    ПРОФЕССИОНАЛЬНАЯ ЮРИДИЧЕСКАЯ ПОМОЩЬ
    разработка договора стоимость
    адвокат по недвижимости и жилищным вопросам москва
    бандероль в тюрьму
    юридическая экспертиза документов
    сколько берут юристы за работу
    как платить адвокату за услуги
    уголовные преступления адвокаты
    лучший адвокат по гражданским делам
    исковое заявление о признании договора купли продажи квартиры недействительным
    жилищные споры юрист

    АДВОКАТСКОЕ БЮРО MOSCOW LEGAL
    Адвокатское бюро (коллегия адвокатов) Moscow legal — это надежные адвокаты и юристы высочайшей квалификации с безупречной репутацией, готовые к решению любых юридических проблем в рамках правового поля. Специалисты юрбюро оказывают правовую, консультационную и судебную помощь физлицам и бизнесу в Москве, Московской области и регионах. Наша адвокатская контора, в отличие от большинства юридических компаний Москвы, имеет в своем штате адвокатов с узкой специализацией на отдельных отраслях юриспруденции.

    Доскональное знание российского законодательства, опыт и обширная юридическая практика позволяют юристам компании добиваться положительного результата в самых сложных делах. Мы умеем работать действительно эффективно, убедиться в этом вы можете, изучив множество благодарственных писем, грамот и отзывов наших клиентов. Обращаясь в адвокатское бюро Moscow legal вы можете рассчитывать на квалифицированную оперативную помощь в защите прав и полную конфиденциальность информации.

  4. Gregorystush表示:

    Адвокаты Москвы – Помощь и услуги
    сайты адвокатов
    лучшие адвокаты москвы по экономическим преступлениям список
    специалист по экономическим преступлениям
    дежурная часть ленинградского района
    юридическая консультация по покупке недвижимости
    юрист арбитраж
    адвокат раздел
    свердловский районный суд канцелярия
    центральный районный суд канцелярия
    юридическая консультация стоимость

    Адвокаты компании «Первый Иск» обладают высоким уровнем юридической квалификации в разных правовых областях и гарантируют необходимую грамотную поддержку. Ведь по версии независимого рейтинга адвокатов и юридических фирм Москвы, наша компания “Первый иск” занимает ТОП 5 рейтинга!
    Закажите услуги адвоката, имеющего в практике выигранные уголовные дела. Юрист разберет ситуацию и составив стратегию защиты. Гонорар обсуждается и зависит от сложности дела. Гарантировано качественная работа от начала до конца. Действенная помощь адвоката на следствии и в суде.

    Защищаем по этим статьям: взятки, вымогательство, грабеж, ДТП с тяжкими телесными, изнасилование, использование подложного документа, клевета, контрабанда, кража, мошенничество, налоговые преступления, наркотики, организация проституции, причинение вреда здоровью, разбой, растрата, убийство, угроза убийством, фиктивная регистрация, халатность, хулиганство и др.

  5. Dustinemalm表示:

    Московская коллегия адвокатов — юридическая помощь, услуги адвоката в Москве
    адвокат знаменитый в москве
    может ли заключенный подать на развод
    развод с осужденным
    как развестись с мужем если он в тюрьме
    райнова нелли михайловна нотариус телефон
    миграционные адвокаты
    дополнительное решение суда гпк
    как подать на развод если муж сидит в тюрьме
    центр временного содержания иностранных
    выезд адвоката круглосуточно

    Без паники! У вас сложилась трудная жизненная ситуация? Возникла проблема в области права? Нужна юридическая помощь? Не паникуйте, мы обязательно поможем вам разобраться! С помощью нашего сайта, вы можете связаться с уголовными адвокатами и юристами Московской коллегии адвокатов или адвокатами в другом городе, получить юридическую консультацию по срочным вопросам, не выходя из дома.

    Помните! Если у вас сложилась трудная или спорная правовая ситуация, если вы понимаете, что не справляетесь сами, лучше как можно раньше обратиться за помощью к адвокату, избежав при этом неблагоприятных последствий. Часто самостоятельно проделанная доверителем работа в дальнейшем мешает работе адвоката над делом.

    Помощь адвоката избавит вас от лишних переживаний, сэкономит ваше время и поможет избежать последующих финансовых затрат. Кроме того, в таких случаях, как уголовное преследование, защита адвоката абсолютно необходима.
    О Коллегии
    Московская коллегия адвокатов — это некоммерческая организация, которая на протяжении длительного времени оказывает квалифицированную юридическую помощь гражданам и организациям. В Московской коллегии адвокатов все специалисты с высшим юридическим образованием; наши адвокаты, при получении статуса, выдержали сложный квалификационный экзамен, имеют внушительный опыт и успешную многолетнюю судебную практику. В коллегии служат как рядовые адвокаты, так и заслуженные, имеющие статус «Почетный адвокат России».

    Каждый адвокат нашей Московской коллегии адвокатов приносил присягу адвоката. Для нас это не просто слова: «Торжественно клянусь честно и добросовестно исполнять обязанности адвоката, защищать права, свободы и интересы доверителей, руководствуясь Конституцией Российской Федерации, законом и кодексом профессиональной этики адвоката».

  6. ЖК Астро ЖК Теплый дом ЖК Счастье эти жк застройщика Паритет девелопмент
    который вводит в заблуждение своих дольщиков, некачественно строит и отказывается устранять замечания: например он трещины на раме заделывает скотчем. Все покажу расскажу – @dontcheatpeople – телеграмм.

  7. ClydeOpeda表示:

    Auction house withdraws shrunken heads and other human remains from sale following outcry
    расторжение брака в одностороннем порядке без детей и имущества
    куда подавать заявление о разводе
    кассационный и апелляционный суд отличие
    sberpravo
    разница апелляции и кассации
    какие документы на развод нужны
    развод через загс по обоюдному согласию сроки
    sberpravo ru
    как подать заявление в загс на расторжение брака
    юридическая консультация по кредитам

    An auction house in England has withdrawn human remains, including shrunken heads and ancestral skulls, from sale following an outcry.

    The Swan auction house in Tetsworth, Oxfordshire withdrew more than two dozen lots from an upcoming auction titled “The Curious Collector Sale,” including an 18th-century Tsantsa shrunken head, which was expected to fetch ?20,000-?25,000 ($26,000-$33,000) and was previously owned by Hugh Hefner, founder of Playboy magazine.

    Other withdrawn lots include an ancestral skull from the Solomon Islands, another from the Fon tribe in Benin and a double ancestor skull from Congo.

    The planned sale of another piece, described as a 19th-century horned Naga human skull, drew criticism from Neiphiu Rio, Chief Minister of the Indian state of Nagaland.
    Rio wrote to India’s External Affairs Minister, S. Jaishankar, asking him to intervene “to ensure that the auction of the human remains of our people is halted.”

    In his letter, Rio said he had been informed about the auction by the Forum for Naga Reconciliation (FNR), a grouping of organizations that works to reconcile different Naga political groups, some of which have engaged in armed struggle for independence from India in recent decades.

    In its letter to Rio, the FNR said it “condemns this inhumane and violent practice where indigenous ancestral human remains continue to be collector’s items.”

    “Such auctions continue the policy of dehumanization and colonial violence on the Naga people,” it added.

    Another of those to criticize the planned sale was Laura Van Broekhoven, director of the Pitt Rivers Museum, which is part of the University of Oxford.

    “Please, immediately pull from tomorrow’s auction the human and ancestral remains of Naga, Shuar, Dayak, Kota, Fon, Vili people and other communities in Papua New Guinea, Solomon Islands, Nigeria, Congo, Ecuador, Nagaland, Benin,” she wrote in a post on X on Tuesday.

  8. The posts are like a secret garden of knowledge. I’m always excited to see what’s blooming.

  9. Robertusany表示:

    Адвокаты Московской коллегии адвокатов «Бастион» имеют немалый опыт работы в различных организациях и учреждениях, в том числе в прокуратуре, органах внутренних дел, судах, службы судебных приставов, министерстве юстиции, исполнительных органах власти, крупных государственных корпорациях, в частных зарубежных и российских компаниях, а также во многих других структурах и организациях.
    частная жалоба на определение районного суда по гражданскому делу куда подается
    коллегия адвокатов бастион
    адвокат по земельным вопросам москва
    судебная практика о признании права пользования жилым помещением на условиях социального найма
    сколько стоит адвокат по гражданским делам в московской области
    ответчик признал иск действия суда
    за что нотариус берет деньги при вступлении в наследство
    приготовление к грабежу
    стоимость юридических услуг в арбитраже
    судебная практика по ч 3 ст 160 ук рф

    Адвокатская контора по сути является Коллегией адвокатов Москвы и Московской области, поскольку объединяет высококвалифицированных адвокатов Москвы и адвокатов Московской области. Юристы нашей группы правовых компаний предоставляют на территории Таганского района в центре Москвы все виды юридических услуг организациям и гражданам.

    На официальном сайте Московской городской коллегии адвокатов “Бастион” Вы можете найти, пожалуй, одних из лучших адвокатов и юристов по любому юридическому вопросу, в том числе по самым сложным делам и судебным спорам.

    В нашей адвокатской фирме работают грамотные и опытные юристы в области уголовного, гражданского, жилищного, семейного, наследственного, семейного, земельного, трудового, страхового, налогового, корпоративного, арбитражного, административного и других отраслей права. Если Вы нуждаетесь в юридической помощи, то здесь Вы можете найти список нужных сайтов .

  10. Charleszed表示:

    ivermectin 20 mg: stromectol buy – ivermectin lice

  11. Travismut表示:

    order stromectol: ivermectin human – ivermectin pills

  12. Trenttat表示:

    http://rybelsus.icu/# rybelsus
    how to cure ed naturally

  13. Diplomi_zvEn表示:

    купить диплом старого образца в нижнем новгороде orik-diploms.ru .

  14. 온카表示:

    Fantastic web site. Plenty of useful information here. I?m sending it to several buddies ans additionally sharing in delicious. And naturally, thank you in your effort!

  15. Arthurfrunc表示:

    https://stromectol1st.shop/# ivermectin 1%
    reputable indian pharmacies

  16. Charleszed表示:

    minocycline indications: stromectol 1st – minocycline 50 mg pills

  17. Trenttat表示:

    https://rybelsus.icu/# semaglutide
    ed causes and treatment

  18. Diplomi_fmEn表示:

    купить документы об образовании купить документы об образовании .

  19. Trefvew表示:

    Официальная покупка диплома вуза с упрощенной программой обучения

    mireait.listbb.ru/viewtopic.php?f=2&t=711

  20. Trefusl表示:

    Официальная покупка диплома вуза с сокращенной программой обучения в Москве

    igenplan.ru/forum/user/95945

  21. Peqmjv表示:

    buy clindamycin generic – order indomethacin 75mg pill buy generic indomethacin over the counter

發佈留言

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