c#更新Excel中的数据链接

本文介绍了一个使用C#和Microsoft Office Interop Excel库的方法,用于递归地打开并更新Excel文件中的链接数据。此方法首先定义了一个名为RefreshExcelData的过程,该过程接受一个字符串参数作为Excel文件的路径。
ContractedBlock.gifExpandedBlockStart.gifCode
using Microsoft.Office.Interop.Excel;

private bool RefreshExcelData(string strFileName){
    
object missing = System.Reflection.Missing.Value;
    ApplicationClass readApp 
= new ApplicationClass();
    Workbook readBook 
= null;
    
try{
        readBook 
= readApp.Workbooks.Open(strFileName, 3false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
        Array links 
= (Array)readBook.LinkSources(XlLink.xlExcelLinks);
        
if (links != null)
        {
            
//递归更新源Excel
            foreach (string strName in links)
                RefreshExcelData(strName);

            
//更新当前Excel
            foreach (string strName in links)
                readBook.UpdateLink(strName, XlLinkType.xlLinkTypeExcelLinks);
                
            
//刷新计算
            readBook.RefreshAll();
            readBook.Save();
        }
    }
    
catch(){}
}
ExpandedBlockStart.gif
using Microsoft.Office.Interop.Excel;

private bool RefreshExcelData(string strFileName){
    
object missing = System.Reflection.Missing.Value;
    ApplicationClass readApp 
= new ApplicationClass();
    Workbook readBook 
= null;
    
try{
        readBook 
= readApp.Workbooks.Open(strFileName, 3false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
        Array links 
= (Array)readBook.LinkSources(XlLink.xlExcelLinks
        
if (links != null)
        {
            
//递归更新源Excel
            foreach (string strName in links)
                RefreshExcelData(strName);

            
//更新当前Excel
            foreach (string strName in links)
                readBook.UpdateLink(strName, XlLinkType.xlLinkTypeExcelLinks);
                
            
//刷新计算
            readBook.RefreshAll();
            readBook.Save();
        }
    }
    
catch(){}
}
using Microsoft.Office.Interop.Excel;

private bool RefreshExcelData(string strFileName){
    
object missing = System.Reflection.Missing.Value;
    ApplicationClass readApp 
= new ApplicationClass();
    Workbook readBook 
= null;
    
try{
        readBook 
= readApp.Workbooks.Open(strFileName, 3false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
        Array links 
= (Array)readBook.LinkSources(XlLink.xlExcelLinks
        
if (links != null)
        {
            
//递归更新源Excel
            foreach (string strName in links)
                RefreshExcelData(strName);

            
//更新当前Excel
            foreach (string strName in links)
                readBook.UpdateLink(strName, XlLinkType.xlLinkTypeExcelLinks);
                
            
//刷新计算
            readBook.RefreshAll();
            readBook.Save();
        }
    }
    
catch(){}
}

using Microsoft.Office.Interop.Excel;

object missing = System.Reflection.Missing.Value;
ApplicationClass readApp 
= new ApplicationClass();
Workbook readBook 
= null;
try{
readBook 
= readApp.Workbooks.Open(strFileName, 3false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
Array links 
= (Array)readBook.LinkSources(XlLink.xlExcelLinks
if (links != null)
                {
                    
//递归更新源Excel
                    foreach (string strName in links)
                        RefreshExcelData(strName);

                    
//更新当前Excel
                    foreach (string strName in links)
                        readBook.UpdateLink(strName, XlLinkType.xlLinkTypeExcelLinks);
                    
//刷新计算
                    readBook.RefreshAll();
                    readBook.Save();
}
}

转载于:https://www.cnblogs.com/tanxstar/archive/2009/05/14/1456984.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值