发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
如果你新建一个项目的话,首先要添加Microsoft.Office.Core 与Microsoft.Office.Interop.Exce这两个应用,然后就能很方便的操作了,示例代码(只实现了简单的读写):
1
private
Excel._Application excelApp;
2
Workbook wbclass;
3
4
excelApp =
new
Excel.Application();
5
6
object
objOpt = System.Reflection.Missing.Value;
7
8
wbclass = (Workbook)excelApp.Workbooks.Open(
"E:\Book6.xlsx"
, objOpt,
false
, objOpt, objOpt, objOpt,
true
, objOpt, objOpt,
, objOpt, objOpt, objOpt, objOpt, objOpt);
上面声明,引用,并把要操作的 excel 的路径传给他
得到所有的表名:
List<
string
> list =
>();
Excel.Sheets sheets = wbclass.Worksheets;
sheetNams =
.Empty;
foreach
(Excel.Worksheet sheet
in
sheets)
{
list.Add(sheet.Name);
}
获取某个表中的数据,这里获取的是sheet 表中的:
01
public
Excel.Worksheet GetWorksheetByName(string name)
02
03
Excel.Worksheet sheet =
null
;
04
05
foreach (Excel.Worksheet s in sheets)
06
07
if
(s.Name == name)
08
09
sheet = s;
10
break
11
12
13
return
sheet;
14
15
16
System.Data.DataTable GetDateTable(string name)
17
18
System.Data.DataTable dt =
System.Data.DataTable();
19
20
var worksheet = GetWorksheetByName(name);
//调用上面的方法,利用表名得到这张表
21
22
string cellContent;
23
24
int
iRowCount = worksheet.UsedRange.Rows.Count;
25
iColCount = worksheet.UsedRange.Columns.Count;
26
Excel.Range range;
27
for
(
iRow =
; iRow <= iRowCount; iRow++)
28
29
DataRow dr = dt.NewRow();
30
31
iCol =
; iCol <= iColCount; iCol++)
32
33
range = (Excel.Range)worksheet.Cells[iRow, iCol];
34
35
cellContent = (range.Value2 ==
) ?
""
: range.Text.ToString();
36
37
(iRow ==
)
38
39
dt.Columns.Add(cellContent);
40
41
else
42
43
dr[iCol -
] = cellContent;
44
45
46
47
(iRow !=
48
dt.Rows.Add(dr);
49
50
51
dt;
52
53
上面得到的只是
System.Data.DataTable
如何把数据取出来,请看下面:
var dataTable = GetDateTable(
"Sheet1"
);
//调用上面的方法
(DataRow row
dataTable.Rows)
a = (
)row[2];
b = (
)row[4];
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
C#读取Excel几种方法的体会(2)
Excel259个常用宏
Sub 按aa工作表A列的内容排列工作表标签顺序()Sub 以A1单元文本作表名插入工作表()Sub 为指定工作表加指定密码保护表()Sub 光标定位到指定工作表A列最后数据行下一单元()Sub 将Sheet1的A列的非空值写到...
轻松搞定Excel拆分工作表
轻松搞定Excel拆分工作表轻松搞定Excel拆分工作表时间:2012-02-01 08:52来源:跟我学电脑。Cells(i, ICol) = "'' "&a...
C#通过存储过程读取数据
Select * from T_NameEND--DataTable的操作DataTable dt1 = new DataTable();dt1 = Select_T_Name();for (int i = 0; i <dt1.Rows.Count; i++){
C#中combobox获datatable中的值
C#中combobox获datatable中的值 //进行客户下拉列表的绑定 DataTable dt=null; dt = _customerbll.selectName(); // MessageBox.Show(dt.Rows[0]["customer_name"]+&qu...
Asp.net中把DataTable或DataGrid导出为Excel - 海南K.K -...
Asp.net中把DataTable或DataGrid导出为Excel - 海南K.K -...当前编码的一个项目中有把查询结果(显示在DataGrid)导出为excel的需求,尝试了几种方法,作为技巧拿来和大家分享。
ToExcel_两双手-的-世界
//打开模板文件,得到WorkBook对象 try { book = app.Workbooks.Open(templateFile,missing,missing,missing,missing,missing, missing,missing,missing,missing,missing,missing,missing,m...
使用VBA实现从二维表到一维表的转置
使用VBA实现从二维表到一维表的转置二维表:
C# DataGridView转DataTable
C# DataGridView转DataTable.public static DataTable ToDataTable(this DataGridView dataGridView, string tableName = null) { DataGridView dgv = dataGridView;DataTable table = new DataTable(t...
微信扫码,在手机上查看选中内容