Tag: excel

如何在不使用Microsoft.Office.Interop.Excel库的情况下读取C#中的excel文件

我在C#中有一个.Net-Windows应用程序。 我需要打开一个excel并处理它。 我怎样才能做到这一点,而不使用Microsoft.Office.Interop.Excel库?

VBA Excel中的进度条

我正在做一个Excel应用程序,需要从数据库进行大量数据更新,因此需要时间。 我想在用户窗体中创build一个进度条,并在数据更新时popup。 我想要的酒吧只是一个小小的蓝色酒吧左右移动,并重复,直到更新完成,没有百分比需要。 我知道我应该使用progressbar控件,但我尝试了一段时间,但不能做到这一点。 编辑:我的问题是progressbar控件,我不能看到“进度”栏,它只是当表格popup完成。 我使用一个循环和DoEvent但是这是行不通的。 另外,我想要重复这个过程,而不是一次。

Excel VBA应用程序自动停止并显示消息“代码执行已被暂停”

从我在网上看到的情况来看,这是一个相当普遍的抱怨,但答案似乎更为罕见。 问题是这样的: 我们有许多Excel VBA应用程序,可以在许多用户的机器上完美工作。 然而,在一台机器上,他们停止了某些代码行。 它总是一样的线条,但是这些线条似乎没有任何共同之处。 如果在停机后按F5(运行),应用程序将继续运行,因此几乎就像已经添加了一个断点。 我们尝试从菜单中select“删除所有中断”,甚至添加中断并再次删除。 之前我们已经遇到了单个应用程序的这个问题,我们通过从模块中删除代码,编译并粘贴回来等等来“拦住”它。 现在的问题似乎与Excel本身相关,而不是一个单一的.xls,所以我们有点不确定如何pipe理。 任何帮助将感激地收到:) 谢谢, 菲利普惠廷顿

VBA“和”运算符是否在第一个参数为假时评估第二个参数?

Function Foo(thiscell As Range) As Boolean Foo = thiscell.hasFormula And (InStr(1, UCase(Split(thiscell.formula, Chr(40))(0)), "bar") > 0) End Function 这个函数用于在(。)之前testing是否存在某个子string(在这种情况下为bar)。 我遇到的情况是,当传入函数的单元格为空时,thisCell.hasFormula为false,但是在和之后的语句仍然被评估。 这给了我一个下标超出范围的错误在运行时。 是否VBA实际上继续评估第二个参数和,即使当第一个是错误的?

将事件处理程序分配给在VBA中dynamic创build的用户表单上的控件

我发现互联网上的许多资源几乎做我想做的,但不完全。我有一个命名范围“daylist”。 对于dayList中的每一天,我想在用户窗体上创build一个button来运行当天的macros。 我能够dynamic添加button,但不知道如何将daycell.text从命名范围,button,事件处理程序传递到macros:S Heres我必须创build用户表单的代码: Sub addLabel() ReadingsLauncher.Show vbModeless Dim theLabel As Object Dim labelCounter As Long Dim daycell As Range Dim btn As CommandButton Dim btnCaption As String For Each daycell In Range("daylist") btnCaption = daycell.Text Set theLabel = ReadingsLauncher.Controls.Add("Forms.Label.1", btnCaption, True) With theLabel .Caption = btnCaption .Left = 10 .Width = 50 .Top = […]

如果单元格不包含“@”,则删除整行的有效方法

我正在创build一个快速的子邮件进行有效性检查。 我想删除“E”列中不包含“@”的整行联系人数据。 我使用了下面的macros,但是它的运行速度太慢,因为Excel在删除之后移动了所有的行。 我试过另一种技术: set rng = union(rng,c.EntireRow) ,然后删除整个范围,但是我不能防止错误信息。 我也尝试过将每行添加到select中,并且在select了所有内容之后(如在Ctrl + Select中),随后将其删除,但找不到适当的语法。 有任何想法吗? Sub Deleteit() Application.ScreenUpdating = False Dim pos As Integer Dim c As Range For Each c In Range("E:E") pos = InStr(c.Value, "@") If pos = 0 Then c.EntireRow.Delete End If Next Application.ScreenUpdating = True End Sub

通过VBA复制另一个工作簿中的数据

这就是我想要做的事情,而且我有点麻烦。 我有一个工作簿,我想从不同的文件收集数据做这样的事情。 Do While THAT_DIFFERENT_FILE_SOMEWHERE_ON_MY_HDD.Cells(Rand, 1).Value <> "" And Rand < 65536 then 'I will search if the last row in my main worksheet is in this file… End Loop 如果是这样,我会退出While循环,如果不是,我会复制一切。 其实这不会像我想要的那样工作,但我不会find正确的algorithm的麻烦。 我的问题是,我不知道如何访问不同的工作簿。

Excel函数在工作表数据上进行类似SQL的查询?

我在excel工作表中有一个较大的表格: Column_1 | Column_2 | Column_3 ValueA ValueB ValueC …. 我需要的是一个函数,将作为input的范围和类似SQL的查询string,并返回匹配查询的行范围,例如: =SQL_SELECT(A1:C1000, "SELECT * WHERE Column_1 = ValueH AND Column_3 = blah") 有这样的事情吗? 或者什么是实施自己的最佳方式? 谢谢

使用PHP将Word文档,docx和Excel xls,xlsx转换为PDF

我正在寻找一种方法来使用PHP将Word和Excel文件转换为PDF。 原因是,我需要能够将各种格式的文件合并成一个文件。 我知道,如果我能够将所有东西都转换成PDF,我可以使用PDFMerger(使用fpdf)将PDF合并到一个文件中。 我已经能够从其他文件types/图像创buildPDF,但是坚持使用Word文档。 (我想我可能会转换Excel文件使用PHPExcel库,我已经使用从HTML代码创buildExcel文件)。 我不使用Zend框架,所以希望有人能够指引我正确的方向。 或者,如果有办法从Word文档创build图像(jpg)文件,那将是可行的。 感谢您的帮助!

如何读取Excel单元格中的数字string作为string(不是数字)?

我有这样的内容excel文件: A1:SomeString A2:2 所有字段都设置为string格式。 当我使用POI在java中读取文件时,它告诉A2是数字单元格格式。 问题是,在A2中的值可以是2或2.0(我想能够区分它们),所以我不能只使用.toString() 。 我能做些什么来读取string的值?