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

27,062 Responses

  1. Richardfek表示:

    пинап казино пинап казино пинап казино

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

  3. KennethKex表示:

    vavada casino: vavada casino – вавада официальный сайт

  4. Elmerbuils表示:

    пин ап казино официальный сайт: пин ап зеркало – пинап казино

  5. Jaredkam表示:

    Profitable Account Sales Buy Pre-made Account

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

  7. KennethKex表示:

    пин ап вход: пин ап казино официальный сайт – пинап казино

  8. Having read this I believed it was extremely enlightening. I appreciate you finding the time and energy to put this informative article together. I once again find myself personally spending way too much time both reading and posting comments. But so what, it was still worthwhile!

  9. Лучшие цены на римские шторы под заказ
    римские шторы на заказ римские шторы на заказ .

  10. Horacesmupe表示:

     Так называемое уголовное дело «Лайф-из-Гуд» – «Гермес» – «Бест Вей» продолжает свою кровавую жатву – в конце марта умер от рака, быстро спрогрессировавшего из-за постоянного стресса, председатель Совета кооператива «Бест Вей», депутат Государственной думы VII созыва Сергей Иванович Крючек. Полтора года назад умерла жена Сергея Крючека – сердце не выдержало после обысков у них дома и допросов мужа.   Суд ни к чему не ведет Следствие действовало максимально жестко. От обысков с пристрастием в 2023 году пострадали сотни пайщиков кооператива по всей России, на скамье подсудимых оказались ни в чем неповинные технические сотрудники – помощник руководителя, один из бухгалтеров, менеджер сайта и конференций, несколько индивидуальных предпринимателей, а также 83-летний отец основателя кооператива «Бест Вей» и бывшего руководителя компании «Лайф-из-гуд» Романа Василенко – пенсионер Виктор Иванович Василенко. Один из допрашивавшихся – Шамиль Фахруллин, умер после допроса от сердечного приступа, в критическом состоянии после 12-часового допроса была Зоя Семенова, которая опровергла в суде свои показания, данные следствию (таких опровергших – десятки). Мама Романа Василенко Лариса Александровна Василенко столкнулась с настоящими пытками – явившись к ней в пять утра, оперативники заставили ее переодеваться при них, раздевшись догола, а в следственном управлении ее на несколько часов посадили на стул со сломанной ножкой и не давали пить. Она потеряла сознание, и только после этого ей удалось выйти из следственного управления. Случаев издевательств и пыток множество. При этом в суде, который идет с конца февраля 2024 года, дело откровенно разваливается – у признанных потерпевшими и свидетелей нет никаких доказательств своих утверждений, они в ходе перекрестных допросов один за другим попадаются на лжи. На последние суды приходят все меньше и меньше свидетелей обвинения – под разными предлогами они отказываются, чтобы не поддерживать лживую версию следствия. Кооператив без вины виноватых Сергей Крючек возглавил крупнейший в России кооператив – 20 тыс. пайщиков во всех регионах страны – весной 2022 года, в период острого кризиса, после только что прошедшего первого обыска в офисе кооператива, в ходе которого были изъяты вся документация, базы данных, серверы, даже личные вещи и трудовые книжки сотрудников (и ничего до сих пор не возвращено: все учетные записи пришлось восстанавливать с нуля). Он и сам стал жертвой обысков в своем подмосковном доме – в ходе которых была изъята и до сих пор не возвращена коллекция наград. Кооператив оказался «в уголовном деле» по странному стечению обстоятельств – он был объявлен следствием организацией, аффилированной с иностранной инвестиционной компанией «Гермес», а значит, призванной ответить по ее обязательствам – хотя кооператив никак не был связан с «Гермесом» ни организационно, ни финансово: имел только общую систему продаж продуктов через маркетинговую фирму «Лайф-из-Гуд». У «Гермеса» возникли проблемы с выплатами российским клиентам после взлома российского сегмента платежной системы системным администратором Евгением Набойченко – система в феврале 2022 года перестала работать, и появилась картинка с предложением обращаться в правоохранительные органы. Только выплаты прекратились не до действий Набойченко, а после них. Параллельно возникла ситуация со СВО и санкциями Запада, крайне затруднившая трансграничные финансовые операции.  Но кооператив «Бест Вей» никаких выплат не прекращал, он зарегистрирован в Санкт-Петербурге, все его активы находятся в России. И даже если учесть требования к нему со стороны лиц, признанных потерпевшими по уголовному делу, то нет никаких причин для блокирования работы кооператива: совокупный ущерб в обвинительном заключении – 282 млн рублей, притом что на счетах кооператива – более 4 млрд рублей. Эта сумма постоянно увеличивается, и еще 600 млн – дебиторская задолженность пайщиков кооперативу на сегодняшний день. 282 млн рублей могли быть заблокированы на счете кооператива, на котором аккумулируются средства из членских взносов, предназначенные для развития, – не было никаких причин блокировать всю деятельность кооператива! Тем не менее это длительное время происходило. Страхи охранителей Что стоит за преследованиями фирмы «Лайф-из-Гуд», успешно работавшей с 2014 до начала 2022 года; компании «Гермес», которая весь этот же период выполняла свои обязательства; кооператива «Бест Вей», к которому вообще нет никаких претензий, кроме как со стороны тех, кого следствие убедило, что раз кооператив незаконный, они смогут взыскать членские взносы и еще со стороны людей, которым кооператив, заботясь о ликвидности, не дал купить объект недвижимости с перепланировкой? Что стоит за поддержкой властью репрессий против кооператива?   Прежде всег, люди, которые пытаются получить контроль над миллиардными активами кооператива и других организаций, а также примкнувшие к ним силовики. Но похоже на то, что власть очень обеспокоил политический потенциал, стоящий за кооперативом, – все эти многотысячные собрания пайщиков на стадионах. Собрания людей, которым ничего не надо от государства – они готовы сами, вскладчину, решать свои жилищные и иные проблемы. Кого-то из охранителей это испугало и стало причиной зеленого света для репрессий против кооператива со стороны высокопоставленных силовиков.  Лжеэксперты и лжеобвинения Кооператив, как и «Гермес», был обвинен в том, что он является финансовой пирамидой. Приглашенный следствием эксперт из СПбГУ Маевский потребовал закрытого заседания – чтобы никто не слышал, как он плавает в теме. Утверждает, что финансирование покупки квартир старым пайщикам происходило за счет новых пайщиков: не понимает, что финансирование кооператива происходит не только за счет новых поступлений от пайщиков, но и за счет возвратных платежей за приобретенную на деньги кооператива недвижимость. А с осени 2021 года – времени внесения в предупредительный список ЦБ, почти исключительно за счет возвратных платежей от пайщиков, которым приобретена квартира. При этом ликвидность кооператива никак не пострадала. Объяснения со стороны адвокатов стали для этого экономиста откровением. Значительная часть пайщиков стремится ускорить погашение долга перед кооперативом, чтобы скорее получить квартиру в собственность – ведь квартира с помощью кооператива приобретается почти без переплат. Переплаты связаны только со вступительным и членскими взносами; налогами, которые платятся по тарифам для юридического лица; оплатой проверки юридической чистоты и независимой оценки недвижимости.  С весны 2022 года кооператив прекратил прием новых пайщиков, при этом на его ликвидности это никак не сказалось: средства на счетах продолжали расти, несмотря на то что многие пайщики боялись платить на арестованные счета и вносят платежи только сейчас.  Спаситель  С весны 2022-го до зимы 2025 года счета кооператива с небольшими перерывами были под арестом – причем запрещались даже выплаты по исполнительным листам пайщикам, которые приняли решение о выходе из кооператива, арестованы были, также с перерывами, квартиры, принадлежащие кооперативу, на 12 млрд рублей.  Под руководством Сергея Ивановича Крючека удалось добиться в судах снятия ареста с квартир, а затем частичного снятия ареста со счетов, разрешения с арестованных сумм выплачивать по исполнительным листам пайщикам, которые через суд добились возврата средств (в этом им активно помогал сам кооператив), а также налоги и заработную плату сотрудникам кооператива. Частичное «освобождение» счетов позволило осуществлять выплаты пайщикам, принявшим решение о выходе из кооператива и возврате своих средств.  Таких пайщиков около 2,5 тыс., общий объем выплат им – порядка 1,5 млрд рублей, значительная часть из них уже получила свои паевые средства – несмотря на огромные трудности с перечислением средств по 115-ФЗ: дело в том, что расследуется еще одно уголовное дело – по ст. 174 УК (хотя кооператив никаких денег за рубеж не переводил), открыто и новое дело по заявлениям потерпевших от «Гермеса», не попавшим в уголовное дело, которое сейчас рассматривается судом. Кроме того, идет гражданский процесс по иску прокуратуры, блокирующему возможность приема новых пайщиков. И, несмотря на эти трудности, кооператив, возглавлявшийся до недавнего времени Сергеем Крючеком, ежедневно осуществляет выплаты выходящим из него пайщикам и успешно восстанавливает деятельность.   Важнейшее достижение Крючека – создание механизма, когда при арестованных счетах пайщики, которым уже приобретены объекты недвижимости, получили возможность погашать свой долг перед кооперативом и переоформлять недвижимость в собственность за счет средств других пайщиков, которые передают им свои арестованные паевые взносы, а взамен получают живые деньги от счастливых приобретателей квартир в собственность. Таким способом пайщикам удалось погасить долг перед кооперативом и полностью перевести недвижимость в собственность по десяткам объектов недвижимости. Кооператив под руководством Сергея Крючека работал над тем, чтобы вновь начать приобретать квартиры пайщикам, которые стоят в очереди на покупку первыми. Тем более что ряд квартир будет освобожден пайщиками, которые отказались возвращать за них деньги и исключены из кооператива с возвратом паевых средств.  Кооператив, по мнению многих пайщиков, жив благодаря той огромной работе, которую проделал Сергей Крючек с весны 2022 года по весну 2025-го, успешному противостоянию произволу правоохранительной системы. Недаром один из пайщиков предложил назвать кооператив именем Сергея Ивановича.

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

  12. Richardfek表示:

    vavada вавада официальный сайт вавада казино

  13. ZackaryGer表示:

    http://pinupaz.top/# pin up azerbaycan

  14. KennethKex表示:

    пин ап вход: пин ап казино – пин ап зеркало

  15. Elmerbuils表示:

    vavada casino: вавада зеркало – вавада официальный сайт

  16. ZackaryGer表示:

    https://pinuprus.pro/# пинап казино

  17. Elmerbuils表示:

    пин ап вход: пин ап вход – pin up вход

  18. KennethKex表示:

    vavada: вавада официальный сайт – вавада

  19. home workout表示:

    Great site you’ve got here.. It’s difficult to find high quality writing like yours these days. I really appreciate people like you! Take care!!

  20. Richardfek表示:

    pin up casino pin-up casino giris pin up az

  21. ZackaryGer表示:

    https://pinuprus.pro/# пин ап казино официальный сайт

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

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

發佈回覆給「หลุด onlyfans cherry_iiiii ตั้งกล้องถ่ายตอ」的留言 取消回覆

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