标签: excel-2007

Excel应用程序的体系结构

经过10年的编程,我发现自己在Excel 2007中创建我的第一个Excel应用程序是一项艰巨的任务.我之前在MS Access上编程了VBA,所以这对我来说不是真正的技术挑战,但它是"范式"的真正变化我敢说.

现在我必须实现一个与SQLServer对话的Excel应用程序(在我创建的专用数据库上),典型的CRUD内容,但我在任何一本书上都看不到(Excel Bible,Excel Power Programming等),我是怎么做的应该构建应用程序.

  • 我可以为我的列命名,并在将数据发送回SQLServer时将它们用作数据库列

  • 当我检索数据时我想要的电子表格应用程序,例如我检索ID,描述(将ID隐藏在列中并显示描述),或者我应该只使用描述一切并在我的SQLServer表中存储非规范化数据,使它们相当于服务器端Excel表格?

  • 如果我想使用像LookupTable(ID,Country)这样的标准化数据,我应该将ID,Country信息存储在Range中,如果是这样,我如何强制用户从该范围(ID,Country)中选择一个值而不使用一个合适的Combobox?

  • 当我从SQLServer检索数据时,我应该将其建模到ADODB.Recordset中(例如通过调用视图或存储过程)并将其复制到Sheet中,确保Recordset中的字段顺序与Sheet中的相同或者,还有更好的方法?

我确信有很多人了解我的情况,因为他们一直在我的鞋子里,请帮助我做一些有助于我理解电子表格应用世界的跳转.指向网络资源的指针也非常受欢迎.

谢谢.

architecture excel vba excel-2007 excel-vba

11
推荐指数
1
解决办法
1907
查看次数

删除Excel中的重复项(包括原始值)

如何删除excelsheet(列)中的重复项,其中必须删除具有多个匹配项的项:

1  
2  
3  
3  
4  
4  
Run Code Online (Sandbox Code Playgroud)

如果我们使用remove duplicate选项,它将给出不同的值,但是应该做什么才能获得值

1  
2  
Run Code Online (Sandbox Code Playgroud)

由于1和2值不重复,因此这两个值在Excel(列)中只有一个出现

excel excel-2007 duplicates

11
推荐指数
1
解决办法
7万
查看次数

Excel(2007)VBA - 带有引号的公式

我昨天尝试将以下代码放入程序中.VBA称错误.我认为这是因为公式中的双引号.我用谷歌搜索,我发现的所有结果都给出了公式的基本内容,但没有一个解释如何绕过里面的引号.

(在此之前有一个With语句,Pivot是一个工作表名称)

.Range("A2").Formula = "=IF(Pivot!A5="",A1,Pivot!A5)" 
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢.谢谢!

excel vba excel-2007 excel-vba

11
推荐指数
2
解决办法
7万
查看次数

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

我在互联网上发现了很多资源,几乎可以做我想做的事情,但并不完全.我有一个命名范围"daylist".对于dayList中的每一天,我想在用户表单上创建一个按钮,该按钮将运行当天的宏.我可以动态添加按钮,但不知道如何将daycell.text从命名范围传递到按钮,事件处理程序,再到宏:S继承我必须创建用户表单的代码:

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 = 20 * labelCounter
    End With

    Set btn = ReadingsLauncher.Controls.Add("Forms.CommandButton.1", "runButton", True)
    With btn
        .Caption = "Run Macro for " & btnCaption
        .Left = 80 …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-2007 excel-vba

11
推荐指数
1
解决办法
3万
查看次数

函数,它接受address()并给出值

我想让一个单元格等于它上面的单元格.

当我写作

=address(row()-1;column())
Run Code Online (Sandbox Code Playgroud)

它只是写上面单元格的名称(例如对于B2,它写入$ B $ 1)

是否有一个输入地址并输入值的函数?

excel excel-2007

11
推荐指数
1
解决办法
6万
查看次数

数据透视表显示值,而不是值的总和

我想要显示一个数据透视表,并向它显示实际值,每行一个,而不是值的总和.例如

Name    Jan   Feb   Mar   Apr
Bob     12    10          4
        3     5      
James   2     6     8     1
                    15
Run Code Online (Sandbox Code Playgroud)

等等

我的出发点是有三列:Name,ValueMonth.

这可能而不必做一些完全不同的事情吗?

excel if-statement pivot-table excel-2007 excel-formula

11
推荐指数
1
解决办法
24万
查看次数

Apache POI - 如何使用选项保护工作表?

我正在使用Apache POI生成Excel文件(2007).我想要的是保护工作表,但启用了一些选项.通过选项我的意思是当您尝试保护Excel应用程序中的工作表时(在"允许此工作表的所有用户为:"标签下)的复选框列表.具体来说,我想启用"选择锁定/未锁定的单元格","格式列","排序"和"允许自动过滤".非常感谢你!:d

java excel-2007 apache-poi

11
推荐指数
2
解决办法
2万
查看次数

始终使用Apache poi在excel单元格中显示两个小数点

例如,

XSSFCellStyle style=(XSSFCellStyle) workbook.createCellStyle();
style.setDataFormat(workbook.createDataFormat().getFormat("#.##"));

productCell.setCellValue(12.4);
productCell.setCellType(Cell.CELL_TYPE_NUMERIC);
productCell.setCellStyle(style);
Run Code Online (Sandbox Code Playgroud)

这将显示12.4在指定的单元格中.它应该是12.40.12显示的值12.非常不必要.

如果该值是0,则显示一个点..它应始终显示两位小数 - 0.00在这种情况下,无论存储在单元格中的值如何.

如何强制excel始终在数字单元格中显示两位小数?


我使用以下样式之一来显示数字单元格.

XSSFColor commonColor = new XSSFColor(new java.awt.Color(240, 240, 240));
XSSFColor cellBorderColour = new XSSFColor(new java.awt.Color(0, 76, 153));

Font font = workbook.createFont();
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
font.setColor(IndexedColors.DARK_BLUE.index);

XSSFCellStyle style = (XSSFCellStyle) workbook.createCellStyle();
style.setFillForegroundColor(commonColor);
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
style.setAlignment(CellStyle.ALIGN_RIGHT);
style.setFont(font);

style.setBorderLeft(BorderStyle.HAIR);
style.setBorderColor(XSSFCellBorder.BorderSide.LEFT, cellBorderColour);
style.setBorderTop(BorderStyle.HAIR);
style.setBorderColor(XSSFCellBorder.BorderSide.TOP, cellBorderColour);
style.setBorderRight(BorderStyle.HAIR);
style.setBorderColor(XSSFCellBorder.BorderSide.RIGHT, cellBorderColour);
style.setBorderBottom(BorderStyle.DOUBLE);
style.setBottomBorderColor(cellBorderColour);
Run Code Online (Sandbox Code Playgroud)

我应用了一些excel公式来对数字单元格执行一些计算,这些数字单元格应该在数字单元格上应用数字格式(向上舍入一半)之后执行.

java excel excel-2007 apache-poi

11
推荐指数
1
解决办法
2万
查看次数

不是有效的Office添加

我使用VS 2008和VSTO开发了一个新的Office 2007插件.之后我去Office-> Excel选项 - > AddIns-> COM AddIns和GO ...如果我选择我创建的.dll我得到错误

'<path>' is not a valid Office Add In.
Run Code Online (Sandbox Code Playgroud)

如果我在我的开发机器上使用Visual Studio 2008运行它,它工作正常,我看到加载项.

我搜索了很多帖子,但没有得到解决方案.

vsto add-in excel-2007 ms-office

10
推荐指数
2
解决办法
2万
查看次数

如何检查Excel-VBA中是否存在某些工作表?

有谁知道如何使用Excel VBA检查Excel文档中是否存在某些工作表?

excel vba excel-2007

10
推荐指数
1
解决办法
8万
查看次数