首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用后期绑定创建和填充excel工作表

使用后期绑定创建和填充excel工作表
EN

Stack Overflow用户
提问于 2012-05-30 11:31:00
回答 1查看 1.3K关注 0票数 2

我一直在查看微软的支持页面Binding for Office automation servers with Visual C# .NET,试图创建一个Excel工作表,用数据表中的值填充它,然后将其保存到机器上。

我有一个使用早期绑定并简单地循环遍历项目的实现,但我不知道如何使用后期绑定来实现这一点,我需要能够嵌入Interop类型以使应用程序版本独立于MS Office。

如何使用后期绑定将datatable中的行添加到新的Excel工作表中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 12:01:21

我建议您编写一个接口,并对数据填充步骤和excel步骤进行抽象。这样,您就可以拥有一个实现与excel进行早期绑定的系统,然后一个使用此接口填充excel工作表的引擎。步骤2是使用后期绑定而不是早期绑定来编写接口的第二个实现。然后,在创建接口时,只需在代码中用第二个实现替换第一个实现即可。

在代码中,您只需创建一个对象,即接口本身。但是,在创建它时,您可以将其指定为实现该接口的任何其他类/实现……下面是我自己的代码中的一个示例:

代码语言:javascript
运行
AI代码解释
复制
ISpreadsheetControl SSInterface;
if (conditionCheck())
    SSInterface = new ExcelImplementer();
else
    SSInterface = new OpenOfficeImplementer();

当放置数据或更改页面设置等时,我只使用1对象SSInterface,否则我implemented...but它可以通过两种不同的方式来完成,这基于在加载时分配给接口的类。

至于关于“如何”...I的细节和细节,在你提供的链接中找到第二个例子确实非常有帮助。这都是关于类型和调用的。困难将是在任何给定时间跟踪您正在使用的内容。这是使其更难使用的事情之一,也是首先提取早期绑定实现的一个很好的理由。这样,在编写第二个方法时,您就可以看到所需的所有方法名称及其参数列表。

我还想补充这一点:对您的问题非常简单和简短的回答是“以您已有的方式来做它”,您只需更改您调用的方法,该方法将填充data...and所有excel互操作实现的其余部分。

更新

我认为这可能会做你想要的,尽管它足够混乱,我建议将它(实际上两个操作,一个可以调用另一个)放入它自己的独立方法中的某个地方。

代码语言:javascript
运行
AI代码解释
复制
//Get a range object that contains the cell.
Parameters = new Object[2];
Parameters[0] = iRow + 1;
Parameters[1] = iCol;
objRange_Late = objSheet_Late.GetType().InvokeMember( "Cells",
    BindingFlags.GetProperty, null, objSheet_Late, Parameters );

//Write value in cell
Parameters = new Object[1];
Parameters[0] = row[col.ColumnName];
objRange_Late.GetType().InvokeMember( "Value", BindingFlags.SetProperty, 
    null, objRange_Late, Parameters );

我必须承认,我现在还没有一个可以测试它的实现,但根据我对它的了解,它应该可以工作。如果"Cells“不起作用,我也会用同样的代码"Range"...I实际上不知道它是否接受数字输入。

link to Cells property description (msdn)

你可能还想探索一下整个系统,它可以帮助你找到一些你可能正在寻找的东西。

测试过的成功地创建并测试了上面的代码,它工作得很完美。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10815425

复制
相关文章
使用Python拆分Excel工作表
才开通星空问答,就收到了小几个问题,试着回答了,不知道满不满意,相信随着水平的增长,会让大家更加满意的。相关链接>>>Excel与VBA,还有相关的Python,到这里来问我
fanjy
2021/11/10
3.6K0
使用Python拆分Excel工作表
PHP后期静态绑定
即在类的继承过程中,使用的类不再是继承的类.而是调用的类,通过static关键字来实现,"static"不在被解析定义为当前方法所在的类,而是在实际运行时计算得到的,即为运行时最初调用的类,虽然称为后期静态绑定 但是并不局限于静态方法的调用
憧憬博客
2020/07/20
9570
使用Python pandas读取多个Excel工作表
本文将尝试使用Python pandas读取来自同一文件的多个Excel工作表。我们可以通过两种方式来实现这一点:使用pd.read_excel()方法,并使用可选的参数sheet_name;另一种方法是创建一个pd.ExcelFile对象,然后解析该对象中的数据。
fanjy
2021/11/10
13.4K0
使用Python pandas读取多个Excel工作表
OpenLDAP 服务搭建和后期管理
本文主要在debian配置,如果需要在CentOS上部署,需要修改大部分的路径,这里需要自行修改。
星哥玩云
2022/07/28
8460
OpenLDAP 服务搭建和后期管理
后期静态绑定在PHP中的使用
什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了。今天我们还是再次深入的理解一下这个概念。
硬核项目经理
2020/03/26
7140
Excel破解工作表保护
宏运行 Public Sub Password_cracking() Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "" Const HEADER As String = "Password_cracking" Const VERSION As String = DBLSPACE & " Version 1.0"
步履不停凡
2019/09/11
9240
Excel: 受保护的工作表使用筛选功能
文章背景:工作生活中,有时很多人都会用到同一份模板文件。为了防止文件内的公式被修改,以及单元格的误删除,往往都会给文件设置保护。受保护的同时,希望可以正常使用筛选等功能。
Exploring
2022/09/20
3.8K0
Excel:  受保护的工作表使用筛选功能
学习Python与Excel:使用Python和xlrd读取Excel工作表
xlrd库可以在Linux和Mac以及Windows上运行,当需要在Linux服务器上处理Excel文件时,这非常有用。
fanjy
2023/02/24
1.6K0
学习Python与Excel:使用Python和xlwt创建Excel工作表
使用Python创建Excel工作表,有很多种方法。本文介绍使用xlwt库创建Excel工作表。
fanjy
2023/02/24
1.3K0
学习Python与Excel:使用Python和xlwt创建Excel工作表
python合并工作表 VS excel合并工作表,看看合并工作表哪家强!
在日常办公工作中,我们可能会碰到多个或者几百上千个数据结构都相同 sheet工作表需要你进行合并汇总。而excel和python都能进行工作表的合并,那你知道他们两个的操作谁更为好用的吗?今天就分别介绍excel和python合并工作表的方法,看看合并工作表那家强!
Python与Excel之交
2021/08/05
1.6K0
Java保护Excel工作簿和工作表
出于安全原因,你可能需要保护整个工作簿或工作表。 有时,你甚至可能还需要保护某个工作表,但却保留指定的单元格进行编辑。 本文将介绍如何使用Free Spire.XLS for Java来实现这些操作。
崔笑颜
2020/06/08
1.5K0
Excel事件(二)工作表事件
大家好,上节介绍了excel事件的基础知识,后面就按照事件的分类来介绍,本节将首先介绍vba程序开发中最常用的工作表事件。
无言之月
2019/10/13
3.7K0
给Excel工作表建立目录
有时候我们会在一个工作簿中建立很多工作表,怎样才能简单明了的管理工作表呢,当然能建一个目录最好了,这里我们就学习一种给工作表创建目录的方法。 1、在工作簿中新建一个工作表,命名为“目录”。 2、单击B
用户1756920
2018/06/20
1.6K0
数据透视表填充空白单元格(Excel技巧)
建议升级Excel,03版实在不应该再用了,07版漏洞太多。如果你比较怀旧不想升级,那么可以这样操作,
wujunmin
2021/09/07
5.6K0
数据透视表填充空白单元格(Excel技巧)
Excel小技巧38:只填充工作日时间
有时候,可能只想使用工作日日期而不是所有日期来填充一列。这里介绍一个简单的技巧,可用于代替编写公式或手动输入工作日日期。
fanjy
2020/06/04
1.6K0
Excel小技巧25:Excel工作表打印技巧
当工作表中含有较多数据时,可能由于列数太多会打印到几张纸中,其实,我们可以适当调整比例,在一张纸中打印所有列。当然,前提条件是打印出来的字体不能过小。
fanjy
2019/12/04
1.9K0
可以使用通配符的20个Excel工作表函数
Excel提供了近20个支持在参数中使用通配符的工作表函数,本文将对这些函数进行介绍,更详细的信息可以参考Microsoft关于这些函数的帮助文档。
fanjy
2021/08/31
3.3K0
Python-Excel-08-复制工作表
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
zishendianxia
2019/10/23
9610
Python-Excel-08-复制工作表
点击加载更多

相似问题

C#创建excel工作表后期绑定

14

Excel VBA宏后期绑定

20

Excel VBA:后期绑定引用

10

用.NET后期绑定Excel

12

Excel后期绑定EntireColumn.NumberFormat

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文