.NET对Excel的读写

在.net中读Excel可以通过两种方式读取

1.以数据库的方式,这种方式简单明了,推荐。

参考代码如下:

注意修改两个地方Data Source=C:/Book.xls指Excel文件的位置,string.Format("select * from [{0}$]", p_tagName)中p_tagName指Sheet标签页的名称

Code

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->//构建连接字符串
string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Book.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
OleDbConnection Conn 
= new OleDbConnection(ConnStr);
Conn.Open();
//填充数据
string sql = string.Format("select * from [{0}$]", p_tagName);
OleDbDataAdapter da 
= new OleDbDataAdapter(sql, ConnStr);
da.Fill(ds);

2.以OLE方式读取

Code

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->//读取excel
int indexSheet = 1;

Excel.ApplicationClass Myexcel 
= new Excel.ApplicationClass();
if (Myexcel == null)
{
    MessageBox.Show(
"EXCEL无法启动!""信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    
return;
}

Myexcel.Visible 
= true;
Myexcel.UserControl 
= true;
Excel.Workbooks Myworkbooks 
= Myexcel.Workbooks;
Excel.Workbook Myworkbook 
= Myworkbooks.Open(@"C:\Book.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Excel.Worksheet Myworksheet 
= (Excel.Worksheet)Myworkbook.Worksheets[indexSheet];
Excel.Range rng3 
= Myworksheet.get_Range("E1",Missing.Value);

最后通过rng3的属性Value2可以获取到指定Cell的值

 

在.net中写Excel可以通过两种方式读取

1.通过数据库方式批量更新

 

2.通过OLE方式更新

从以下片段可以看出和读取没有什么区别

Code

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->if (sBhName.IndexOf(infoArr[0]) >= 0 || sDmisName.IndexOf(infoArr[0]) >= 0)
{
    Excel.Range rng3 
= null;
    bEmsByqId 
= GetNumberInt(infoArr[3]);
    
if (bEmsByqId == bDmisByqId)
    {
        rng3 
= Myworksheet.get_Range(string.Format("E{0}", Convert.ToString(i + 1)), Missing.Value);
        rng3.Value2 
= infoArr[1];
        rng3.Interior.ColorIndex 
= 4//设置Range的背景色 

        rng3 
= Myworksheet.get_Range(string.Format("F{0}", Convert.ToString(i + 1)), Missing.Value);
        rng3.Value2 
= infoArr[0];
        rng3.Interior.ColorIndex 
= 6//设置Range的背景色 

        rng3 
= Myworksheet.get_Range(string.Format("G{0}", Convert.ToString(i + 1)), Missing.Value);
        rng3.Value2 
= infoArr[3];
        rng3.Interior.ColorIndex 
= 8//设置Range的背景色
    }
}

Myworksheet.SaveAs(
@"C:\date.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value); 

最后不要忘记保存哦,呵呵


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值