
你要看你判断单元格中的数据是什么类型的,使用getStringCellValue()获取的是String类型的数据,使用getCellFOrMula()方法获取的是除了数值,String,null等其他数据类型的数据。
通过后端程序代码来读取Excel文件是有专业类库可以用的,不知道你读取Excel的具体需求是什么,下面以读取Excel文件,获取其中的文本和为例,代码供参考,注意在程序中引用spirexlsdll文件调用其提供的接口方法等 *** 作excel。方法示例如下:
读取
//加载Excel文档
Workbook workbook = new Workbook();
workbookLoadFromFile(@"添加xlsx");
//获取第一个工作表
Worksheet sheet = workbookWorksheets[0];
//获取工作表中的第一张
ExcelPicture picture = sheetPictures[0];
//将保存到指定路径
picturePictureSave(@"Image\imagepng", ImageFormatPng);
2 读取形状
//加载Excel文档
Workbook workbook = new Workbook();
workbookLoadFromFile("AddShapesxlsx");
//获取第一个工作表
Worksheet sheet = workbookWorksheets[0];
//从第一个形状中提取文本并保存到txt文件中
IPrstGeomShape shape1 = sheetPrstGeomShapes[0];
string s = shape1Text;
StringBuilder sb = new StringBuilder();
sbAppendLine(s);
FileWriteAllText("ShapeTexttxt", sbToString());
//从第二个形状中提取并保存到本地文件夹
IPrstGeomShape shape2 = sheetPrstGeomShapes[1];
Image image = shape2FillPicture;
imageSave(@"Image\ShapeImagepng", ImageFormatPng);
3 读取文本数据
这里可以通过文档格式转换的方式,将Excel转为txt文件
using SpireXls;
namespace Excel_to_Txt
{
class Program
{
static void Main(string[] args)
{
Workbook workbook = new Workbook();
workbookLoadFromFile(@"\ExceltoTxtxls");
Worksheet sheet = workbookWorksheets[0];
sheetSaveToFile("ExceltoTxttxt", " ", EncodingUTF8);
}
}
}
HSSSFWorkbook 和SXSSFWorkbook在导出excel workbook对象在执行write方法写入数据到ServletOutputStream时 是有点区别的
HSSFWorkbook在write方法执行完的时候并没有关闭流 ,所以我们可以对这个流统计大小来获取导出文件的大小,并且最后需要我们手动关闭
而SXSSFWorkbook的write方法把流关闭了,write方法执行完之后out流就空了拿不到大小了
可以看一下SXSSFWorkbook的write方法的源码
可以看到流在源码里关闭了。
所以针对不同的workbook对象我们可以采取不同的方法来获取导出流的大小从而来确定导出文件的大小
1HSSFWorkbook可以通过拿到流写入到文件里来获取文件的大小来获取导出excel的大小
如下面这个controller例子:
2SXSSFWorkbook需要生成两遍workbook对象一遍写出一遍用来获取大小
如下面的controller导出例子
当然以上两种方法都比较笨 要是有更好的方法 欢迎大家留言指正 共同学习呀~
读取一个Excel的基本流程
1 双击打开一个Excel文件
2 选择sheet
3 对sheet里面的东西进行 *** 作
在python中我们使用第三方模块 openpyxl模块 *** 作Excel
ps:这个模块不是python自带的 是第三方模块需要我们下载的
进入终端输入: pip install openpyxl
如果想要下载快点:百度搜索 python第三方源
from openpyxl import load_workbook
# 1 打开Excel文件
workbook = load_workbook("p1xlsx")
# 2 选择sheet
# 21 获取所有sheet
# print(workbooksheetnames)
# 22 选择sheet
sheet = workbook["Sheet1"]
print(sheetmax_row) # 最大行号
print(sheetmax_column) # 最大列号
# 23 我们选择了sheet后就可以去 *** 作数据了
# cell = sheetcell(1, 1) # 获取到单元格
# print(cellvalue)
sheet 相关 *** 作
from openpyxl import load_workbook
# 1 打开Excel文件
workbook = load_workbook("p1xlsx")
# 2 选择sheet
# 21 获取所有sheet
# print(workbooksheetnames)
# 22 选择sheet
# sheet = workbook["Sheet1"]
# 23 基于索引的方式获取sheet
# sheet = workbookworksheets[0]
# 3 获取到所有的sheet
# for name in workbooksheetnames:
# sheet = workbook[name]
# cell = sheetcell(1, 1)
# print(cellvalue)
读单元格的数据
from openpyxl import load_workbook
# 1 打开Excel文件
workbook = load_workbook("p1xlsx")
# 2 获取sheet
sheet = workbookworksheets[0]
# 获取到第N行第N列的单元格
# cell = sheetcell(1, 2)
# print(cellvalue)
# 获取到某个单元格
# cell = sheet['A2']
# print(cellvalue)
# print()
# for cell in sheet[1]: # 获取到第一行的内容
# print(cellvalue)
# 获取到所有的行的数据 获取到一列的值
# for row in sheetrows:
# print(row[0]value)
# 获取到所有的列的数据 获取到一行的值
for col in sheetcolumns:
print(col[0]value)
写Excel
# 在Excel中想要写文件 大致可以分为两种
# 1 在原有的Excel的基础上写内容
# 2 在一个新的Excel里面写内容
1 打开Excel表格
2 找到单元格 修改写入内容
3 保存
# from openpyxl import load_workbook
#
# # 1 打开Excel文件
# workbook = load_workbook("p1xlsx")
# # 2 获取sheet
# sheet = workbookworksheets[0]
#
# # 获取到第N行第N列的单元格
# # cell = sheetcell(1, 2)
# # print(cellvalue)
#
# # 获取到某个单元格
#
# # cell = sheet['A2']
# # print(cellvalue)
#
# # print()
# # for cell in sheet[1]: # 获取到第一行的内容
# # print(cellvalue)
#
#
# # 获取到所有的行的数据 获取到一列的值
# # for row in sheetrows:
# # print(row[0]value)
#
# # 获取到所有的列的数据 获取到一行的值
# for col in sheetcolumns:
# print(col[0]value)
# from openpyxl import workbook
# wb = workbookWorkbook() # 创建一个Excel会默认有一个sheet 就叫 Sheet
# 1 修改sheet名称
# sheet = wbworksheets[0]
# sheettitle = '数据集'
# wbsave('p2xlsx')
# 2 创建一个新的sheet 还可以设置颜色
# sheet = wbcreate_sheet('工作计划', 1)
# sheetsheet_propertiestabColor = 'FFB6C1'
# wbsave('p2xlsx')
# 3 copy sheet
# sheet = wbcreate_sheet('工作计划')
# sheetsheet_propertiestabColor = 'FFB6C1'
#
# new_sheet = wbcopy_worksheet(wb['Sheet'])
# new_sheettitle = '新的计划'
# wbsave('p2xlsx')
# print(wbsheetnames)
# sheet = wbworksheets[0]
# cell = sheetcell(1, 1)
# cellvalue = '哈哈哈'
#
# wbsave('p2xlsx')
from openpyxl import load_workbook
# 1 打开Excel文件
workbook = load_workbook("p2xlsx")
# 2 获取sheet
sheet = workbookworksheets[0]
# 1 获取某个单元格 修改值
# cell = sheetcell(1, 1)
# cellvalue = '哈哈哈'
# wbsave('p2xlsx')
# 2 获取某个单元格 修改值
# sheet['B3'] = '光'
# workbooksave('p2xlsx')
# cell_list = sheet["B2": 'C3']
# for row in cell_list:
# for cell in row:
# cellvalue = '新的值'
# workbooksave('p1xlsx')
for row in sheetiter_rows(min_row=5, min_col=1, max_col=7, max_row=10):
for cell in row:
cellvalue = 'oo'
workbooksave('p1xlsx')
r row in sheetiter_rows(min_row=5, min_col=1, max_col=7, max_row=10):
for cell in row:
cellvalue = ‘oo’
workbooksave(‘p1xlsx’)
以上就是关于使用HSSFWorkbook *** 作Excel取值问题全部的内容,包括:使用HSSFWorkbook *** 作Excel取值问题、c# 读取当前excel、HSSFWorkbook-SXSSFWorkbook导出excel文件获取大小记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)