phpcms网站模板,无极,wordpress发布文章更新失败,新产品开发的5个步骤版权声明#xff1a;本文为博主原创文章#xff0c;转载请在显著位置标明本文出处以及作者网名#xff0c;未经作者允许不得用于商业目的。
Excel的基本操作步骤#xff1a;
1、打开Excel#xff1a;定义了一个Application对象#xff1a;
Microsoft.Office.Interop.E…版权声明本文为博主原创文章转载请在显著位置标明本文出处以及作者网名未经作者允许不得用于商业目的。
Excel的基本操作步骤
1、打开Excel定义了一个Application对象
Microsoft.Office.Interop.Excel.Application xls new Microsoft.Office.Interop.Excel.Application();
注意Application对象的Visible属性决定了在运行时是否显示Excel如果为true就显示如果为false则不显示默认为false。
2、打开工作簿通常使用Workbooks的Open方法来打开一个现有文档例如图21--2中打开Northwind.xls
Workbook Wbook xls.Workbooks.Open(c:\\lessons\\Northwind.xls);
3、得到所有工作表的集合Worksheets
Worksheets Wsheets (Worksheets)Wbook.Worksheets;
4、单个的工作表Worksheet单个的工作表可以通过两种方式获得比如得到图21-2中的产品表
Worksheet Wsheet Worksheets[序号];如Worksheets[1]
或者
Worksheet Wsheet Worksheets[工作表名];如Worksheets[产品]
还可以略过Worksheets
Worksheet Wsheet Wbook.Worksheets[1];
5、定义并获得一个Worksheet后就可以操作对应表里面的数据。
Worksheet的Rows属性和Columns属性分别对应了行和列的集合。使用Worksheet.Rows.Count 和 worksheet.Columns.Count 获得工作表的行数和列数这两个数字对应Excel97-2003版本文件*.xls文件分别是 65535 和 256对于Excel2007及以后版本*.xlsx文件是1048576 和16384。要想获得里面的数据必须对rows和columns进行遍历但是这两个数字实在是太大了通常使用
Worksheet.UsedRange.Columns.Count 和 Worksheet.UsedRange.Rows.Count
来获得有效使用的行数和列数。
通过 Worksheet.Cells[行号列号].Value 即可获得对应单元格的值
但是需要注意的是如果那个单元格为空会引发错误可以先做判断值是否为null。
注意Excel中的索引号是从1开始的。
6、最后别忘了关闭打开的Excel
xls.Quit();
【例 21.1】【项目code21-001】读取Excel工作表数据。
使用到的xls文件是图21-2中的Northwind.xls。
在窗体上放置1个ListView控件名称为lvExel它的View属性为Details。
具体代码如下 //载入数据 private void Button1_Click(object sender, EventArgs e) { string filename; OpenFileDialog ofd new OpenFileDialog(); ofd.Filter 表格文件|*.xls;*.xlsx; if(ofd.ShowDialog()! DialogResult.OK) { return; } else { filename ofd.FileName; lvExcel.Items.Clear(); } Label1.Text filename; //定义一个Application Microsoft.Office.Interop.Excel.Application xls new Microsoft.Office.Interop.Excel.Application(); //打开Excel文档 Workbook Wbook xls.Workbooks.Open(filename); //定义Worksheet Worksheet Wsheet; //将Worksheet设置为第一个工作表 Wsheet Wbook.Worksheets[1]; //或者 //Wsheet Wbook.Worksheets[产品]; //最大列数 int maxColumn; //最大行数 int maxRow; //第一行数据作为列表头 if( Wsheet.Rows.Count 1) { lvExcel.Columns.Clear(); //最大列数设置为有效列数 maxColumn Wsheet.UsedRange.Columns.Count; //最大行数设置为有效行数 maxRow Wsheet.UsedRange.Rows.Count; //循环获得第一行的单元格内容 for(int i 1;i maxColumn;i) { //设置列表头需要判断是否是Nothing if (Wsheet.Cells[1, i].Value null) //无数据 lvExcel.Columns.Add((空)); else lvExcel.Columns.Add(Convert.ToString(Wsheet.Cells[1, i].Value)); } //从第二行开始的行作为数据 for(int j 2;j maxRow;j) { ListViewItem Lv new ListViewItem(); string LvText; if (Wsheet.Cells[j, 1].Valuenull) LvText (空); else LvText Convert.ToString(Wsheet.Cells[j, 1].Value); Lv.Text LvText; string subLvText; for(int k 2;k maxColumn;k) { if (Wsheet.Cells[j, k].Value null) subLvText (空); else subLvText Convert.ToString(Wsheet.Cells[j, k].Value); Lv.SubItems.Add(subLvText); } //添加到ListView中 lvExcel.Items.Add(Lv); } } //退出 xls.Quit(); }
运行结果如下图所示 图21-3 读取到的数据
学习更多vb.net知识请参看vb.net 教程 目录
学习更多C#知识请参看C#教程 目录