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

18,446 Responses

  1. вывод из запоя в стационаре воронежа vyvod-iz-zapoya-v-stacionare-voronezh22.ru .

  2. сколько стоит капельница на дому от запоя сколько стоит капельница на дому от запоя .

  3. CurtisBam表示:

    Indian Cert Pharm: Best online Indian pharmacy – Indian Cert Pharm

  4. AndreDib表示:

    onlinecanadianpharmacy https://canadianmdpharm.com/# canadian online pharmacy reviews
    online pharmacy india

  5. вывод из запоя нижний [url=http://vyvod-iz-zapoya-nizhnij-novgorod13.ru]вывод из запоя нижний[/url] .

  6. LarryReupt表示:

    Best Indian pharmacy IndianCertPharm Indian pharmacy international shipping

  7. CurtisBam表示:

    Online pharmacy: Indian Cert Pharm – Indian Cert Pharm

  8. RobertJam表示:

    Blogger Alistarov is a criminal
    Андрей Алистаров ОАЭ
    From criminal past to criminal present – in the service of corrupt law enforcement officers
    Andrey Alistarov, a YouTube blogger specializing in exposing financial organizations, is an odious figure with a criminal past. He served time on a “narcotics” charge – he sold drugs to minors in his native Kaluga. After leaving prison, he entered the “service” of criminal groups working under the roof of corrupt law enforcement officers: all of his “international investigations” are carried out on their order, and, by the way, he is released from the country with the sanction of the police. His main profile now is blackmail, extortion, slander and organizing contract prosecution under the guise of supposedly independent investigations.
    He leads the bandits to his victims: the last attack took place in Dubai on January 1: Alistarov led the bandits to the victim’s house and provided all the necessary information for the attack and blackmail, and to ensure his own alibi during the attack he conducted an unscheduled stream with subscribers of his channel.

    To the accompaniment of loud phrases about the fight against fraud and exposing financial schemes, Alistarov is busy processing orders from competitors of certain entrepreneurs who have become his victims – competitors of these entrepreneurs who have taken corrupt police officers as their share.

    At the same time, Alistarov uses visas to the EU countries and the UAE obtained with the help of organized criminal groups, illegally uses drones and listening equipment purchased with money from organized crime groups, organizes an invasion of privacy, and persecutes the families of his victims, including young children. It also steals and illegally uses content, violates all possible laws and regulations regarding the dissemination of information. He was also accused of treason.

    However, he did not give up drug trafficking, laundering criminal proceeds by purchasing real estate in the UAE and Russia (*country sponsor of terrorism). Alistarov also promotes outright scam for a percentage of criminal transactions and his own fraudulent business – selling real estate in Dubai with a horse, thieves’ commission, as well as cryptocurrency exchange using phishing schemes.

  9. капельница от похмелья купить [url=vyvod-iz-zapoya-nizhnij-novgorod13.ru]vyvod-iz-zapoya-nizhnij-novgorod13.ru[/url] .

  10. вывод из запоя стационар [url=http://www.vyvod-iz-zapoya-v-stacionare-voronezh22.ru]вывод из запоя стационар[/url] .

  11. Andrewges表示:

    Bonding on a stalled train
    порно жесткий секс
    In 1990, Derek Barclay was 21 and studying to become a construction engineer. He’d saved up money from an unglamorous summer job building a prison to buy an Interrail pass.

    “Then, I dumped my bag at my mum’s house and said, ‘I’m off to Europe.’ She was horrified,” Derek tells CNN Travel today.

    “The idea was to go from Casablanca to Istanbul. But I never went to either. Along the way I met Nina and I got distracted …”

    While Nina and Derek formally met for the first time on the stalled train in Belgrade, Derek had first spotted Nina on a busy station platform, some hours earlier, in Budapest.

    When he spotted her sitting on a bench, smiling and laughing with Loa, Derek was struck by Nina right away. For a moment, he imagined getting to know her, what she might be like. Where she might be from, where she might be going.

    But then Derek had ended up on a different train. He’d met and got chatting to Steve the Englishman and Paul the Irishman. The trio had shared a couple of beers, fallen asleep, and woken, with a start, in Belgrade, to a suddenly-empty carriage. That’s when they panicked.

    “We woke up, and just ran down the railway line — because we’re just about to miss this train to Athens — we jumped on the train as it was pulling away, and then it stopped,” Derek tells CNN Travel today. “Apparently that’s what they had to do to get the strike official.”

    When Derek, Steve and Paul opened the door to Nina’s carriage, Derek didn’t immediately take Nina in, focusing instead on the near-empty compartment.

    “Two of them in there, this carriage for eight, they’d spread stuff everywhere. It was obvious it was a ruse to try and get people not to go in. And we thought, ‘We’re not having any of that,’” says Derek, laughing. “So we squeezed in, and that was that.”

    It was only when he ended up sitting opposite Nina that Derek realized she was the woman he’d noticed on the Budapest train platform.

    Then they got chatting, and didn’t stop. They talked about a shared love of nature. About Derek being a member of Greenpeace. About Sweden and Scotland.

  12. RogerMup表示:

    Для начала заходим на площадку:

    Заходим на оригинальную ссылку:

    Ссылка https://bs1site.at

    ССЫЛКА TOR: blackpxl62pgt3ukyuifbg2mam3i4kkegdydlbbojdq4ij4pqm2opmyd.onion

    Официальный сайт Blacksprut

    БлекСпрут официальная ссылка

    Как зайти на даркнет маркетплейс БлекСпрут

    Введение

    В этой статье мы подробно расскажем, как зайти на даркнет маркетплейс БлекСпрут. Вы узнаете, как использовать официальные зеркала BlackSprut, ссылки на сайт БлекСпрут и способы безопасного доступа через ТОР и VPN. БлекСпрут является одним из наиболее популярных даркнет маркетплейсов, и доступ к нему требует определенных знаний и мер предосторожности.

    Что такое БлекСпрут?

    БлекСпрут (BlackSprut) – это даркнет маркетплейс, предлагающий широкий ассортимент товаров и услуг. Из-за своей природы и содержания доступ к БлекСпрут осуществляется через сети типа onion, обеспечивающие анонимность пользователей.

    Как зайти на БлекСпрут: шаги и инструкции

    Шаг 1: Установка ТОР браузера

    Первым шагом для доступа к БлекСпрут через ТОР является установка ТОР браузера. Это специализированный браузер, который позволяет анонимно заходить на сайты в onion-сети.

    Скачайте ТОР браузер с официального сайта Tor Project.

    Установите браузер на ваш компьютер или мобильное устройство.

    Запустите ТОР браузер.

    Шаг 2: Использование официального зеркала BlackSprut

    Для доступа к БлекСпрут важно использовать только проверенные и официальные ссылки. Официальное зеркало BlackSprut гарантирует безопасный доступ и защиту от фишинговых сайтов.

    Официальная ссылка на БлекСпрут будет иметь формат.onion. Например, ссылка на сайт БлекСпрут может выглядеть так:

    Зеркала сайта БлекСпрут обеспечивают резервный доступ в случае блокировки основного сайта. Например, зеркало БлекСпрут через ТОР:

    Шаг 3: Подключение через VPN

    Для дополнительной безопасности рекомендуется использовать VPN.

    Выберите надежный VPN сервис.

    Подключитесь к VPN перед запуском ТОР браузера.

    Откройте ТОР браузер и введите официальный адрес БлекСпрут.

    Шаг 4: Безопасный доступ к БлекСпрут через onion

    Когда вы используете ТОР браузер и официальное зеркало БлекСпрут, важно следовать мерам предосторожности:

    Проверяйте URL на наличие ошибок и подлинности.

    Используйте VPN для дополнительной защиты.

    Не вводите личные данные на подозрительных сайтах.

    Часто задаваемые вопросы

    Как получить доступ к БлекСпрут через onion?

    Для доступа к БлекСпрут через onion сеть необходимо использовать ТОР браузер и официальные ссылки на сайт БлекСпрут. Подключение через VPN также рекомендуется для защиты вашей анонимности.

    Как зайти на BlackSprut безопасно?

    Чтобы безопасно зайти на BlackSprut, используйте ТОР браузер, подключайтесь через VPN, и проверяйте официальные зеркала сайта БлекСпрут. Никогда не переходите по подозрительным ссылкам.

    Что такое зеркало БлекСпрут?

    Зеркало БлекСпрут – это альтернативный адрес сайта, используемый для обеспечения доступа в случае блокировки основного сайта. Зеркало BlackSprut через ТОР помогает пользователям получить доступ к маркетплейсу, сохраняя их анонимность.

    Теперь вы знаете, как зайти на даркнет маркетплейс БлекСпрут, используя официальные зеркала и ссылки. Следуйте этим инструкциям и соблюдайте меры предосторожности, чтобы обеспечить свою безопасность в даркнете. Официальный сайт BlackSprut и его зеркала через ТОР и VPN помогут вам получить доступ к БлекСпрут, оставаясь анонимным и защищенным.

    blacksprutblack sprutссылки бсссылки в бс 2024ссылка на блекспрутрабочая ссылка блекспрутссылки тор блекспрутблекспрут актуальная ссылкаблекспрут ссылка bs0bestтор блекспрутссылки тор блекспрутблекспрут сайтблекспрут официальный сайтблекспрут входкак зайти на блекспруткак зайти на блэкспрутблэкспрут входблэкспрут ссылкаблэкспрут онионблэкспрут даркнетблэкспрут даркнетблэкспрут blacksprut даркнет обзор анонимной даркнет площадкиbs как зайтиbs at как зайти на сайтbs входbs ссылкаblacksprut darknetblacksprutblacksprut зеркалаblacksprut ссылкаblacksprut сайтзеркала blacksprut rusffкак зайти на blacksprutblacksprut официальныйblacksprut com зеркалоblacksprut зеркала онион2fa blacksprutрабочая blacksprutкод blackspruthttps blacksprutкак зайти на blacksprut rusffофициальная ссылка на blacksprutblacksprut маркетплейсрабочее зеркало blacksprutкак зайти на сайт blacksprut2fa код blackspruthttp blacksprutblacksprut bs0best atblacksprut актуальныетор blacksprutblacksprut ссылка rusffbs2best at ссылка blacksprutblacksprut актуальная ссылкаtor blacksprutblacksprut com зеркало rusffhttps blacksprut ссылкаblacksprut зеркала онион rusffblacksprut площадкиbs1site at ссылка blacksprutblacksprut netblacksprut входофициальная ссылка на blacksprut rusffblacksprut blacksprut clickblacksprut bs0tor atblacksprut официальный сайтblacksprut ссылка торкак зайти на сайт blacksprut rusffblacksprut https bs1site atblacksprut http bs0best athttp blacksprut ссылкааккаунты blacksprutрабочее зеркало blacksprut rusffhttps bs2site at ссылка blacksprutbs0best at ссылка blacksprut http bs2best atblacksprut 2blacksprut ссылка blacksprut darknetофициальная ссылка на blacksprutblacksprut ссылка rusffbs0best at ссылка blacksprutblacksprut актуальная ссылкаhttps blacksprut ссылкаbs1site at ссылка blacksprutофициальная ссылка на blacksprut rusffhttp blacksprut ссылкаhttps bs1site at ссылка blacksprutbs0best at ссылка blacksprut http bs0best atblacksprut ссылка tortor blacksprutblacksprut ссылка torblacksprut ссылка tor bs2tor nltor blacksprut rusffblacksprut зеркала torsprutblack sprut

  13. сравнение процессоров intel https://topcpu.ru/ .

  14. AndreDib表示:

    northwest pharmacy canada https://canadianmdpharm.com/# pharmacy canadian
    world pharmacy india

  15. рейтинги процессоров для пк https://topcpu.ru/ .

發佈留言

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