Spring Boot實現將Word中的表格轉換成Excel表格?

2024年04月11日21:15:55 科技 1337

Spring Boot實現將Word中的表格轉換成Excel表格? - 天天要聞

你可以使用Apache POI庫來處理Word和Excel文件。在Spring Boot應用中,你可以使用POI來讀取Word中的表格內容,然後創建一個新的Excel文件並將表格內容寫入其中。

引入依賴

首先,你需要在你的Spring Boot項目中添加Apache POI的依賴。在你的pom.xml文件中添加以下依賴

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.1</version>
</dependency>

創建轉換服務

接下來,創建一個Spring Boot的服務類來實現Word轉Excel的功能:

@Service
public class WordToExcelService {

    public void convertWordToExcel(String wordFilePath, String excelFilePath) throws IOException, InvalidFormatException {
        FileInputStream fis = new FileInputStream(wordFilePath);
        XWPFDocument document = new XWPFDocument(fis);

        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");

        int rowNum = 0;

        for (XWPFTable table : document.getTables()) {
            for (int i = 0; i < table.getRows().size(); i++) {
                Row row = sheet.createRow(rowNum++);
                for (int j = 0; j < table.getRow(i).getTableCells().size(); j++) {
                    String cellValue = table.getRow(i).getCell(j).getText();
                    Cell cell = row.createCell(j);
                    cell.setCellValue(cellValue);
                }
            }
        }

        FileOutputStream fos = new FileOutputStream(excelFilePath);
        workbook.write(fos);

        fis.close();
        fos.close();
        workbook.close();
        document.close();
    }
}

編寫Controller類

然後,創建一個Controller類來接收請求,並調用WordToExcelService來執行Word轉Excel的操作。

@RestController
public class WordToExcelController {

    @Autowired
    private WordToExcelService wordToExcelService;

    @PostMapping("/convert")
    public ResponseEntity<String> convertWordToExcel(@RequestParam("wordFilePath") String wordFilePath,
                                                     @RequestParam("excelFilePath") String excelFilePath) {
        try {
            wordToExcelService.convertWordToExcel(wordFilePath, excelFilePath);
            return ResponseEntity.ok("Word轉Excel轉換成功!");
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("轉換失敗:" + e.getMessage());
        }
    }
}

總結

到這裡,啟動項目,發送一個POST請求到/convert路徑,同時提供Word文件的路徑wordFilePath和Excel文件的路徑excelFilePath時,它將會執行Word轉Excel的操作。可以在Spring Boot應用中調用這個接口來實現你的需求。當然在實際使用的場景中,需要注意適當處理異常情況,比如文件路徑錯誤、文件不存在等。來保證你的程序的健壯性。

科技分類資訊推薦

11家創新公司亮相金隅智薈中心,共探智能製造新機遇 - 天天要聞

11家創新公司亮相金隅智薈中心,共探智能製造新機遇

當前,全球製造業正邁向一個全新的階段。人工智能、物聯網、數字孿生以及生成式 AI 等技術的飛速發展,為製造業帶來了前所未有的變革機遇。從智能工廠到 Industry 5.0 的人機協同模式,智能製造正在重新定義生產效率、創新能力與可持續發展路徑。為了深度發掘智能製造領域的新銳力量,助力優秀企業加速成長,2025 年 6 月 ...
香港首條無人機配送航線運營,跨海送餐僅5分鐘 - 天天要聞

香港首條無人機配送航線運營,跨海送餐僅5分鐘

昨日(6日)香港首條常態化無人機配送航線正式投入運營香港警方首次開展無人機巡邏香港「低空經濟」發展更進一步無人機送餐迎首飛美食5分鐘「從天而降」記者在現場看到,香港首條常態化無人機配送航線選擇「跨海+公園」場景,從香港科學園起飛,降落在馬鞍山海濱長廊,跨海飛行需約5分鐘,對比傳統騎行配送方式效率提升近7...
美團無人機開通香港首條常態化航線,麥當勞必勝客等接入服務 - 天天要聞

美團無人機開通香港首條常態化航線,麥當勞必勝客等接入服務

近日,美團無人機宣布,在香港低空經濟監管沙盒框架下,公司首條常態化航線正式投入運營。新航線設在「跨海+公園」場景,無人機會由香港科學園起飛,降落在馬鞍山海濱長廊,目前已有香港麥當勞、必勝客等商戶接入服務。美團副總裁、無人機業務負責人毛一年表示:「我們首條航線選擇『跨海+公園』場景,是因為這一場景在香港...
聚信傳媒助力萬人就業,龍哥:用直播經濟賦能普通人逆襲 - 天天要聞

聚信傳媒助力萬人就業,龍哥:用直播經濟賦能普通人逆襲

近日,曾創造「9個月開店1200家、營收48億」商業傳奇的企業家龍哥再度出山,公開力挺聚信傳媒。他表示,聚信不僅是一家直播機構,更是一個幫助普通人實現逆襲的平台。 據龍哥透露,他加入聚信後已幫助1.5萬人解決就業問題,其中不乏負債者、失業人員甚至「黑戶」。通過聚信的免費培訓體系,許多人在3-5天內就能在抖音實現變...
工號02494429京東外賣全職騎手程小沖:急送合肥高考學生取證,助其順利開考 - 天天要聞

工號02494429京東外賣全職騎手程小沖:急送合肥高考學生取證,助其順利開考

6月7日高考首日,全國各地考點外出現一抹靚麗的京東紅!高考期間,京東外賣在全國近50城數百個考點組建全職騎手助考應急小隊,為送考途中忘帶證件、文具,或因交通原因影響考生和家長,在確保配送安全的前提下,免費提供幫助。合肥三中考點外,一位考生忘帶身份證,向京東外賣全職騎手小隊求助,騎手程師傅第一時間載他回去...
手機內存多大採購,128GB還能買嗎?還是直接沖1TB? - 天天要聞

手機內存多大採購,128GB還能買嗎?還是直接沖1TB?

多大才夠?這首先取決於你的預算和應用場景。當年在某輕奢消費類社區裏面,二手區賣得最多的就是16GB內存的iphone。這就是典型的丐版買回來不夠用,逼着出掉的問題。現在iphone的大內存版本還是挺貴的,但安卓陣營的門檻倒是低不少。那麼,我
【市場】618國內高端手機賣的咋樣?銷量排行 - 天天要聞

【市場】618國內高端手機賣的咋樣?銷量排行

昨天分析機構公布了2025年Q1全球手機800美元+暢銷機型TOP20,蘋果上榜五款,華為上榜八款,三星/谷歌上榜三款。那麼今天讓我們來看看國內市場京東618活動期間,高端市場的銷量如何吧:4000~5999元,累計榜TOP1~5:iPhone16,小米15,iPhone15,華為Mate70 Pro,一加13TOP6~10:華為Pura70,iPhone1
天璣8400+7620mAh大電池,vivo這款新機挺能打,1529能到手! - 天天要聞

天璣8400+7620mAh大電池,vivo這款新機挺能打,1529能到手!

藍廠這幾年可謂是風生水起了!各個產品線都有優秀的產品的同時,也徹底擺脫了「低配高價」的廠妹機頭銜,比如,咱們今天要給大家種草的這款vivo Y系列機型--vivo Y300 GT就是這樣一款性價比還不錯的產品。從廠家的命名大家應該也能看出端倪了吧?「GT」的意思就是偏電競的意思,Y系列要做入門電競產品這你敢信?先來看設計...