首页 > 其他分享 >小而美的工具类(1)-EXCEL转CSV

小而美的工具类(1)-EXCEL转CSV

时间:2024-03-22 16:00:48浏览次数:24  
标签:小而 return String EXCEL 美的 cell new apache import

POM

<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-csv</artifactId>
      <version>1.8</version>
</dependency>

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

工具类

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
import org.apache.poi.ss.usermodel.*;

import java.io.File;
import java.io.FileWriter;

public class ExcelToCSV {
    public static void change(String excelFilePath, String csvFilePath) throws Exception {
        Workbook workbook = WorkbookFactory.create(new File(excelFilePath));
        Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet

        try (
                FileWriter fileWriter = new FileWriter(csvFilePath);
                CSVPrinter csvPrinter = new CSVPrinter(fileWriter, CSVFormat.DEFAULT)
        ) {
            for (Row row : sheet) {
                String[] columns = row.iterator().hasNext() ? new String[row.getLastCellNum()] : new String[0];
                int i = 0;
                for (Cell cell : row) {
                    columns[i++] = getCellValueAsString(cell);
                }
                csvPrinter.printRecord(columns);
            }
        }
    }

    private static String getCellValueAsString(Cell cell) {
        switch (cell.getCellTypeEnum()) {
            case STRING:
                return cell.getStringCellValue();
            case NUMERIC:
                return String.valueOf(cell.getNumericCellValue());
            case BOOLEAN:
                return String.valueOf(cell.getBooleanCellValue());
            case FORMULA:
                return cell.getCellFormula();
            default:
                return "";
        }
    }
}

 

标签:小而,return,String,EXCEL,美的,cell,new,apache,import
From: https://www.cnblogs.com/pangyangqi/p/18089687

相关文章

  • C# 根据模板导出Excel
    ///<summary>///导出Excel(使用模板)///</summary>///<returns></returns>[HttpGet]publicIActionResultExportExcelByTemplate(){try{IWorkbookwb=null;vartemplate=Directory.GetCurrentDirectory()+@&q......
  • 利用EasyPoi 实现 传入List数据,输出excel文件
    基本描述场景用户传入List数据,要求生成Excel文件(糟糕的需求是真糟糕!!!)本次算是未完成版[应付需求还是可以的](需要硬代码去编写模板,各位宝子们先将就下,后续会跟新传参版)特别提醒时间字段我们当做字符处理的写模板的时候不要用format属性(暂无特别好的解决方案,有大神可以以指......
  • cad vba 打开excel并弹窗打开指定文件
     CADvba代码实现打开excel,并通过对话框选择xls文件,并打开此文件进行下一步操作。代码如下:OptionExplicit#IfVBA7ThenPrivateDeclarePtrSafeFunctionts_apiGetOpenFileNameLib"comdlg32.dll"Alias"GetOpenFileNameA"(tsFNAstsFileName)AsBooleanPriva......
  • 从数据库查询数据并导出到excel
    importpymysqlimportdatetimeimportxlwtimportosimportpandasaspddefexport_excel(output_dir):current_datetime=datetime.datetime.now()#将日期时间格式化为字符串,例如:2023-10-23_14-30-15formatted_datetime=current_datetime.strftime('%......
  • WPS WORD EXCEL 不合并显示
    WPSWORDEXCEL不合并显示 版本:WPS12,下载时间约是2023年。 1.在开始菜单里找到WPSOFFICE-配置工具2.点击“高级(A)”。3.在“其他选项”选项卡中,点击“切换到旧版的多组件模式”。4.选择“多组件模式”,然后确定。11......
  • python之自定义表头、列表内容导出excel文件例子
    函数三个参数outputfile:导出excel文件的位置,没有的话在该位置建该文件title:表头args:列的内容,每列是一个列表importxlsxwriterdefwriteExcel(outputfile,title,*args):wb=xlsxwriter.Workbook(outputfile)#创建sheetsheet=wb.add_worksheet("Sh......
  • excel 对列的统一操作(1)
    实现对某列统一添加相同内容比如要对某列文件前加上左括号,后加上右括号方法1:使用设置单元格格式的自定义功能1)选中要操作的单元格右击,选择设置单元格格式2)数字tab页,选择自定义,类型找到@,该@代表了该单元格的内容3)前后加(),即在@前后加(),效果如示例所展示的。4)点击确认,效果如......
  • 优美的互联网黑话、常用语
    一、整天呼喊数字化转型的公司里经常能听到的互联网黑话:落地:指落到实处的行为或实地进行的行为,事情有了实质性的进展。复盘:对已经完成的项目进行回顾,反思问题、总结经验。赋能:赋予能量,给予帮助。在互联网,万物皆可赋能。抓手:指重点工作、重要途径、突破口、切入点等。发力:整......
  • 【Java】Excel 读取图片
     一、需求背景:做一个大屏管理系统,基础信息包括管理的应用名称,大屏的截图,通过一个excel批量导入excel的单元格里要插入图片,对应一个大屏应用的信息导入需要读取到大屏截图,至于存哪还没说....二、技术实现Hutool这块没有做图片读取的封装,看了网上的方式都是通过poi原生的api......
  • Java根据模板生成excel文件【EasyExcel】【xls、xlsx】
    本文章参考:作者:WaiSaa  原文链接:https://blog.csdn.net/qq_42761569/article/details/1190251711、简介如下图所示,template目录下是准备好的模板,export目录下是生成数据文件。我们这里以第一个模板《theUser蒸汽历史数据.xls》为例进行测试,theUser为占位符,生成的文件中会被替换......