首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将生成的excel表格移动到特定的第一和第二位置?

如何将生成的excel表格移动到特定的第一和第二位置?
EN

Stack Overflow用户
提问于 2014-10-01 16:30:45
回答 1查看 4.4K关注 0票数 0

我正在做excel插件项目。

我正在从数据库表中动态生成excel工作表。

现在,我想将特定的excel工作表移动到位置1和2。

我尝试了下面的方法,它在Office版本2010上工作正常

但不适用于Office 2013版

office 2013应该做些什么?

如果活动工作表出现"MYFirst“,我使用以下代码将其移动到第一个位置

代码语言:javascript
运行
复制
Worksheet hiddenSheet;
hiddenSheet = (Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);                            
hiddenSheet.Move(Type.Missing, Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Count - 3]);
// int count = Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Count;   // in office version 2010 count comes 4   so (4-3=1)

如果活动工作表出现"MYSecond“,我使用以下代码将其移动到第一个位置

代码语言:javascript
运行
复制
 Worksheet hiddenSheet;
 hiddenSheet = (Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
 hiddenSheet.Move(Type.Missing, Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets[Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Count - 3]);
 // int count = Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets.Count;   // in office version 2010  count comes 5    so (5-3=2)

我如何才能做到这一点?或者如何查找当前安装的Office的哪个版本,以便直接进行差值计数和指定位置

MSDN给出了将工作表移动到最后一个位置http://msdn.microsoft.com/en-us/library/xyhf0ksb.aspx的代码

代码语言:javascript
运行
复制
int totalSheets = this.Application.ActiveWorkbook.Sheets.Count;
((Excel.Worksheet)Application.ActiveSheet).Move(
    this.Application.Worksheets[totalSheets]);

如何将板材移动到第一个位置?

EN

回答 1

Stack Overflow用户

发布于 2017-02-16 06:15:21

假设工作表已经在excel工作簿中。

将该工作表命名为MyFirstSheet

将Excel工作簿命名为book

要将工作表MyFirstSheet移动到excel工作簿中的第一个位置:

代码语言:javascript
运行
复制
private static void moveSheetToFirstPosition(Excel.Workbook book){
    book.Sheets["MyFirstSheet"].Move(book.Sheets[1]);
}

这将把它放在第一位。

如果您有两个工作表要移动,FirstSheet,SecondSheet,只需将SecondSheet移动到Sheet1,然后移动FirstSheet Sheets1。从而使第二张纸处于位置2。

希望这能有所帮助。

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

https://stackoverflow.com/questions/26137210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档