本文目录导读:

Python + openpyxl(最常用)
import openpyxl
# 读取Excel文件
workbook = openpyxl.load_workbook('文件.xlsx')
# 获取工作表
sheet = workbook.active # 或 workbook['工作表名称']
# 读取单元格
value = sheet['A1'].value # 读取A1单元格
value2 = sheet.cell(row=1, column=2).value # 读取第1行第2列
# 遍历所有行
for row in sheet.iter_rows(min_row=1, max_row=10, max_col=5):
for cell in row:
print(cell.value)
# 读取多个工作表中的数据
for sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
print(f"工作表: {sheet_name}")
Python + pandas(数据处理更方便)
import pandas as pd
# 读取Excel文件
df = pd.read_excel('文件.xlsx', sheet_name='Sheet1')
# 查看数据
print(df.head()) # 前5行
print(df.columns) # 列名
df.info() # 数据类型和统计信息
# 读取特定列的数值
names = df['姓名'].tolist()
prices = df['价格'].values
# 读取CSV文件
df_csv = pd.read_csv('文件.csv', encoding='utf-8')
JavaScript + xlsx 库(前端)
// Node.js环境
const XLSX = require('xlsx');
// 读取Excel文件
const workbook = XLSX.readFile('文件.xlsx');
// 获取第一个工作表
const sheet = workbook.Sheets[workbook.SheetNames[0]];
// 转换为JSON格式
const data = XLSX.utils.sheet_to_json(sheet);
console.log(data);
VBA(Excel内置脚本)
Sub 读取数据()
Dim ws As Worksheet
Dim i As Integer
' 选择工作表
Set ws = ThisWorkbook.Sheets("Sheet1")
' 循环读取数据
For i = 1 To 10
Debug.Print ws.Cells(i, 1).Value
Next i
' 读取特定范围
Dim range_data As Range
Set range_data = ws.Range("A1:C10")
For Each cell In range_data
MsgBox cell.Value
Next cell
End Sub
使用建议
安装依赖
# Python pip install openpyxl pandas # Node.js npm install xlsx
完整示例(Python脚本读取Excel)
import openpyxl
def read_excel_file(file_path, sheet_name=None):
"""
读取Excel文件的通用函数
"""
try:
# 加载工作簿
wb = openpyxl.load_workbook(file_path, data_only=True)
# 选择工作表
if sheet_name:
ws = wb[sheet_name]
else:
ws = wb.active
# 获取所有数据
data = []
for row in ws.iter_rows(values_only=True):
data.append(row)
# 打印表头和数据
print("表头:", data[0])
print("数据行数:", len(data) - 1)
return data
except Exception as e:
print(f"读取文件失败: {e}")
return None
# 使用示例
if __name__ == "__main__":
data = read_excel_file("example.xlsx")
if data:
for row in data[:5]: # 打印前5行
print(row)
常见问题处理:
- 文件路径:确保路径正确,可以使用绝对路径
- 编码问题:CSV文件可能需要指定编码,如
encoding='utf-8' - 大文件:使用pandas可以更高效地处理大文件
- 格式兼容:更多使用
.xlsx格式而不是旧的.xls
根据你的具体需求,选择合适的方法即可,如果需要更具体的方案,请告诉我你想读取什么类型的数据或文件格式。