java利用spire.xls包读取excel中的各种样式,类型等

直接上代码

Workbook wb = new Workbook();//创建workbook
wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\111.xlsx");//读取本地excel路径 如果是前端上传的MultipartFile文件可以用下面的方法

String path = "C:/Users/Administrator/Desktop"
 //新的文件名前缀,确保不会重复
 String uuid = UUID.randomUUID().toString();
 // 得到上传文件后缀,前端上传excel的后缀
 String ext = "." + FilenameUtils.getExtension(originalName);
 // 新生成的文件名称
 String fileName = uuid + ext;
 //创建对象
 File filePkg = new File(path);
 if(!filePkg.getParentFile().exists()){//判断文件目录是否存在
     filePkg.getParentFile().mkdirs();//创建目录
 }
 File targetFile = new File(path,fileName);
 FileUtils.writeByteArrayToFile(targetFile, file.getBytes());//写到你指定的path位置
 wb.loadFromFile(path+'/'+fileName);//path+文件名+后缀

//正题
Worksheet sheet1 = wb.getWorksheets().get(0);//假如只读第一个sheet页
int LineCount = sheet1.getLines().getCount();//获取斜线的个数,这个斜线是形状中的线条
sheet1.getLines().get(0).getTop();//获取第一个先的上边距
sheet1.getLines().get(0).getLeft();//获取左边距
sheet1.getLines().get(0).getHeight();//获取线的高度
sheet1.getLines().get(0).getWidth());//获取宽度
 
sheet1.getButtonShapes().getCount();//获取按钮的个数
sheet1.getShapes().getCount();//获取形状
sheet1.getShapes().get(0).getOnAction();//形状名
sheet1.getShapes().get(0).getShapeType();//什么类型的形状
sheet1.getComments().getCount();//批注个数,也可以获取批注所在行和列
sheet1.getComments().get(0).getColumn();//所在列
sheet1.getComments().get(0).getRow();//所在行
for(int i = 0; i<sheet1.getButtonShapes().getCount();i++){
     IButtonShape iButtonShape = sheet1.getButtonShapes().get(i);
       String name = iButtonShape.getOnAction();
      System.err.println(iButtonShape.getLeft());
       boolean islocked = iButtonShape.isLocked();
       System.out.println("name:"+name + "," + " 是否锁定:"+ islocked);
 }
 //下面这个是读取边框斜线,边框线也是如此读取
  CellRange range = sheet1.getRange();
                CellRange[] rows1 = range.getRows();
                for(int r=0;r<rows1.length;r++){
                    CellRange[] columns1 = rows1[r].getColumns();//hang
                    for(int c = 0; c<columns1.length;c++){
                        LineStyleType lineStyle = columns1[c].getBorders().getByBordersLineType(BordersLineType.DiagonalDown).getLineStyle();
                        if(lineStyle.toString() != "None"){
                           //证明有斜线
                            System.err.println(lineStyle);
                            System.err.println(rows1[r].getRow());
                            System.err.println(columns1[c].getColumn());
                        }

                    }
                }
CellRange cellRange = sheet1.getCellRange("A1");//位置可以通过遍历获取等
 CellDataType allowType = cellRange.getDataValidation().getAllowType();//获取数据格式校验,比如该单元格是否只能输入数字,日期格式等等

其他的字体,颜色宽高也能读取

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在C#,你可以使用Spire.XLS库来读写Excel文件。以下是一个简单的示例代码,演示了如何使用Spire.XLS读取和写入Excel文件: ```csharp using Spire.Xls; class Program { static void Main(string[] args) { // 创建一个Workbook对象 Workbook workbook = new Workbook(); // 加载Excel文件 workbook.LoadFromFile("sample.xlsx"); // 获取第一个Worksheet Worksheet worksheet = workbook.Worksheets[0]; // 读取单元格的值 object cellValue = worksheet.Range["A1"].Value; // 输出单元格的值 Console.WriteLine("A1的值为: " + cellValue.ToString()); // 修改单元格的值 worksheet.Range["A1"].Value = "Hello, World!"; // 保存修改后的Excel文件 workbook.SaveToFile("sample_modified.xlsx", ExcelVersion.Version2013); // 关闭Workbook对象 workbook.Dispose(); Console.WriteLine("Excel文件读写完成!"); Console.ReadLine(); } } ``` 在上面的示例,我们首先创建一个Workbook对象,并使用`LoadFromFile`方法加载一个名为"sample.xlsx"的Excel文件。然后,我们获取第一个Worksheet,并读取单元格"A1"的值。接下来,我们修改了单元格"A1"的值,并使用`SaveToFile`方法将修改后的Excel文件保存为"sample_modified.xlsx"。最后,我们关闭Workbook对象。 请确保在运行示例代码之前,将Spire.XLS库添加到你的项目。你可以从Spire官方网站下载并安装Spire.XLS库,或者使用NuGet管理器在Visual Studio进行安装。 这只是一个简单的示例,Spire.XLS库还提供了许多其他功能,例如合并单元格、创建图表、设置样式等。你可以查看Spire.XLS的官方文档以了解更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值