读取嵌入到word的Excel对象

Word.Document doc = this._wordApplication.Documents.Add(@"C:\Users\linmeicheng\Desktop\新建文件夹 (3)\Doc1.docx");
                        foreach (Word.ContentControl item in doc.ContentControls)
                        {
                            string title = item.Title;
                           // item.Appearance = WdContentControlAppearance.wdContentControlHidden;

                            System.Diagnostics.Debug.WriteLine("标题:"+ title);
                            System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
                            xmldoc.LoadXml(item.Range.WordOpenXML);


                            System.Xml.XmlNamespaceManager manager = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
                            manager.AddNamespace("pkg", "http://schemas.microsoft.com/office/2006/xmlPackage");

                           var aa=  xmldoc.SelectSingleNode("//pkg:package/pkg:part[@pkg:contentType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']/pkg:binaryData", manager);
                            if (aa == null)
                                continue;

                            //NetOffice.ExcelApi.Application excel = new NetOffice.ExcelApi.Application();
                           
                            Stream stream = new MemoryStream(Convert.FromBase64String(aa.InnerText));


                            ExcelUntity excel = new ExcelUntity();
                            SpreadsheetDocument spreadsheetDocument = excel.Open(stream, false);

                            SheetData sheetData = spreadsheetDocument.GetFirstSheetData();
                            SharedStringTablePart sharedStringTablePart = spreadsheetDocument.GetSharedStringTable().FirstOrDefault();

                            foreach(Row row in sheetData)
                            {
                                if (row.RowIndex == 1)
                                    continue;

                                string bb = row.GetCellValue("B"+row.RowIndex.ToString(), sharedStringTablePart);
                                string cc = row.GetCellValue("C" + row.RowIndex.ToString(), sharedStringTablePart);

                                System.Diagnostics.Debug.WriteLine("" + row.RowIndex.ToString()+"行,B列:"+bb+" C列:"+cc);
                            }
                            spreadsheetDocument.Close();
                        }

 

转载于:https://www.cnblogs.com/kingline/p/9356199.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值