Tag: vb.net

在Windows窗体中embeddedExcel 2010文档

我一直试图解决这个问题整天,希望这里有人已经想出了如何做到这一点 – 我试图在我的Windows窗体中显示一个Excel 2010工作表,并没有指望这是困难的。 所以…从我在网上看到的,最好的方法是通过一个WebBrowser控件 – 我的代码很容易: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim strfilename = Application.StartupPath & "\SheetXX.xlsx" WebBrowser1.Navigate(strfilename, False) End Sub 但是它popup一个文件下载对话框。 起初,我的问题是,即使当我按下“打开”button,它打开Excel在一个单独的窗口。 我设法修复使用这个registry修复程序 ,但它仍然popup对话框,然后在我的最终用户会抱怨我的浏览器打开它。 其他的在线解决scheme提到了微软的dsoframer,但是这对我来说根本不起作用。 任何人都知道如何使这个工作? 简单而简单,我只想看到我的窗体中的Excel表单。 谢谢!!

快速着色不连续的单元格块

我有一个应用程序生成一个(相当大)的电子表格,其中包含需要颜色编码的用户输出。 当我生成数据时,我发现需要着色的块,但是如果一次只做一块,着色它们就会很耗时。 我想要做的是保持一个大的不连续的单元格组,并使用一个Excel Interop调用进行着色。 现在我正在为每种颜色保留一个范围,每当我find一个需要这种颜色的新块时,我把现有范围和新块的联合。 然后在最后我着色这个范围。 不幸的是,这对于大型案例来说确实很慢,而且是一种错误。 有没有更好的方法来做到这一点? 我觉得着色几千个细胞不应该花这么长时间。 🙂 编辑下面的代码通过条件格式解决了它(假设列B中存在“正确”和“错误”两个字) With newSheet.Range("B:B") .FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlEqual, "CORRECT") .FormatConditions(1).Interior.ColorIndex = 4 .FormatConditions.Add(Excel.XlFormatConditionType.xlCellValue, Excel.XlFormatConditionOperator.xlEqual, "INCORRECT") .FormatConditions(2).Interior.ColorIndex = 3 End With 我仍然想要做的唯一的事情不仅仅是包含“正确”的单元格。 相反,我想为图表中的整行着色(例如,如果B42包含“正确”,我想要A42:H42(包含它的行)是绿色的)。 任何提示做这个?

将具有数据列的行转换为具有多行的列(运行时间错误)

我有一行数据如下: header1 header2 header3 header4 header5 row key datavalue1 datavalue2 datavalue3 datavalue4 datavalue5…. CC Corporate Leadership Community Funding Delivery da1000 50% 50% 所以基本上,我有一个非规范化的数据集的数据值可能会或可能不会逐行为空。 我需要正常化他们。 即 CC Activity Allocation da1000 Community Development 50% da1000 Community Funding Delivery 50% 等等 我可以通过使用粘贴特殊转换来做到这一点,但我有成千上万的行,我需要确保我得到每个正确的行键。 此外,每一行都有一些与之相关的描述,我需要复制每个数据值。 我试图使用下面的代码,但我得到一个 运行时错误5无效的过程调用或参数 Sub NormalizeSheet() Dim wsOriginal As Worksheet Dim wsNormalized As Worksheet Dim strKey As […]

使用VB.net隐藏Excelfunction区

我想知道是否有可能删除除了最小化button之外的所有菜单项。 我想要使​​用Excel作为帮助屏幕,用户只能查看和最小化,没有别的。 我只想要我的一个Excel文件有新的function区。 我试图隐藏Excelfunction区使用 xlapp.ExecuteExcel4Macro("SHOW.TOOLBAR(""Ribbon"",False)") xlapp.Application.CommandBars("Worksheet Menu Bar").Enabled = False 还可以按照此处所述发送密钥。 这是可能的function区编辑器 ? 我无法删除菜单项。 另外,完成后,工作表是唯一的function区,还是Excel应用程序总是使用新的function区?

Excel – 在工作表之间匹配Colum数据

我已经拿到了一本excel工作手册,里面有两张纸,上面有很多数据 – 这需要合并成一个。 为了保持简单: 表1 |Servers| ABCD1 ABCD2 ABCD3 工作表2 |Servers| |Policy| ABCD1 PolicyA ABCD3 PolicyB 我所追求的就是说; 将策略从工作表2移到工作表1,将策略与服务器相匹配,但是在服务器没有策略的地方留空。 我读过关于VLOOKUP,但似乎无法得到它的工作。 任何帮助将是伟大的

Powerpoint修改图表图例宽度

我正在使用VB.net在Powerpoint中创build图表并产生一个小问题:客户希望图例比原始devise更大。 Interop可以吗? 我基本上有这样的结构: Dim TargetChartas Microsoft.Office.Interop.PowerPoint.Chart TargetChart.HasLegend=true With TargetChart.Legend .Position = Microsoft.Office.Interop.PowerPoint.XlLegendPosition.xlLegendPositionTop .Format.TextFrame2.TextRange.Font.Bold = Microsoft.Office.Core.MsoTriState.msoCTrue .Format.Line.Visible = Microsoft.Office.Core.MsoTriState.msoCTrue End Width 但我无法find一个宽度属性 – 像任何正常的形状posess。 你有什么想法如何做到这一点? 我添加了Excel的标签,因为图表基本上是Excel图表。 阿格:我需要更多的茶。 我刚刚意识到Office 2010有一个宽度属性,而2007年没有。 所以我只需要检查一下PPT的版本哦哦

我试图导出一个Excel文件到PDF,但alignment是否正在closures?

导出纸张时,alignmentclosures。 一半数据在下一行。 我如何以编程方式alignment工作表,并将其转换为pdf,而不需要alignment。 我需要一些适合页面的东西。

从Excel中读取与OleDbDataAdapter一些数字单元格进来科学记数法?

从Excel中读取与OleDbDataAdapter一些数字单元格进入科学记数法。 只有只有数字(有些可能包含字母)的string是六位或七位数字或更多。 我不可能在每个单元之前放一个''。 在新版本的Excel中,完全没有问题。 问题与旧版本(我认为是2003年,但我不确定) Dim dt As DataTable = dbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "TABLE"}) Dim dbAdapter As New OleDbDataAdapter("SELECT * FROM [" & strSheet & "] ", dbConn) 我已经试过了,我不知道该怎么做。 我试过按名称select每一列,并连接一个空string,我试着在连接string中添加IMEX = 1。 或修改registry: Private Function CheckRegKey() As Boolean Try Dim strRows As String = My.Computer.Registry.GetValue( _ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel", "TypeGuessRows", "99").ToString Dim strTypes […]

将列添加到具有现有数据源的VSTO ListObject?

有谁知道如何将列添加到Excel中的现有列表对象,已经有一个数据源从一个SQL源绑定到它? 我只是想在该数据列的每个单元格中添加一个公式的另一列,以匹配当时显示的任何数据量。 我有以下两个例子,我迄今为止已经尝试过,1.仅在语法错误的运行时发出语法Syntax error: Missing operand before '=' operator 。 2.给出一个模糊的COMexception。 1。 Dim prodDateCol = New DataColumn("Prod Date", GetType(System.Int32), "=LEFT([Production Code],4)") ComplaintsListObject.ListColumns.Add(prodDateCol) 2。 Dim objListCol = ProdListObject.ListColumns.Add() Dim listColRange = objListCol.DataBodyRange listColRange.Cells(1, 1) = "=LEFT([Production Code],4)" 我知道或者我可以这样做,使用Excel单元格后,首先检查每次列表对象的大小变化,但在查看如何做更详细的之前,我希望有一种方法来使用列表对象本身。 任何人有任何例子或build议? 谢谢 更新:我已经稍微调整了这个testing,也看更多的.Expression的使用,它只允许某些function,所以我已经改变为SUBSTRING LEFT 。 这个例子仍然返回一个Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))的COMexceptionInvalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX)) […]

在VB.net中读取Excel文件的问题

我一直在尝试上传和阅读一个Excel文件(.xls或.xlsx) 我正在使用这个代码成功卸载: Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click Dim filepath As String = "" If FileUpload1.HasFile Then Try Dim filename As String = FileUpload1.PostedFile.FileName Dim extension = (filename.Substring(filename.LastIndexOf("."), (filename.Length() – filename.LastIndexOf(".")))) If extension = ".xlsx" Or extension = ".xls" Then filepath = "\" & Common.toUnix(Now) & "_" & filename […]