EXCEL交互式動態導航條小工具(C

職場菊菊子 2024-04-12 00:59:19
前言

對于日常工作中需要打開多個WPS EXCEL,或者單個excel工作簿有很多worksheet頁簽的時候,這時候要在多個excel工作簿或者工作表來回切換是個經常讓人很頭疼。爲了解決這個問題,特意寫了一個excel導航條小工具,方便在多個excel工作簿和工作表切換。

效果展示

界面設計

功能簡述

左邊列表框:展示當前打開的Excel工作簿,點擊後激活對應的工作簿

右邊列表框:展示選定工作簿裏面的worksheet,點擊後即會對應的工作表

底部按鈕: 獲取當前打開的Excel工作簿,並添加到左邊的列表框

功能實現

小工具用C#實現,當前只支持獲取打開的WPS工作簿。部分代碼如下:

using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Windows.Forms;using Excel;namespace WPSApp{ public partial Form1 : Form { private Excel.Application xls = null; private Workbook curWorkbook = null; public Form1() { InitializeComponent(); } private Workbooks GetOpenedExcels() { try { xls = (Excel.Application)Marshal.GetActiveObject("Excel.Application"); } catch (COMException) { xls = new Excel.Application(); } // return xls.Workbooks; } private Workbook GetWorkbook(string workbookName) { } /// <summary> /// 加載打開的WPS文件 /// </summary> private void btnLoadExcels_Click(object sender, EventArgs e) { // Clear lstExcels.Items.Clear(); lstSheets.Items.Clear(); // Load Workbooks workbook = GetOpenedExcels(); if (workbook != null) { foreach (Workbook item in workbook) { lstExcels.Items.Add(item.Name); } } } /// <summary> /// 點擊lstExcels列表框元素後, /// 激活Workbook, /// 同時獲取對應的Worksheet,並顯示到lstSheets列表框 /// </summary> private void lstExcels_Click(object sender, EventArgs e) { if (lstExcels.Text.Equals(null)) { return; } lstSheets.Items.Clear(); curWorkbook = GetWorkbook(lstExcels.Text); ActivateWorkbook(curWorkbook); List<Worksheet> sheets = GetWorksheets(curWorkbook); lstSheets.Items.AddRange(sheets.Select(n => n.Name).ToArray()); } /// <summary> /// 激活對應的Worksheet /// </summary> private void lstSheets_Click(object sender, EventArgs e) { curWorkbook = GetWorkbook(lstExcels.Text); ActivateWorkbook(curWorkbook); List<Worksheet> sheets = GetWorksheets(curWorkbook); foreach (Worksheet item in sheets) { if(item.Name.Equals(lstSheets.Text)) { ActivateWorksheet(item); break; } } } }}
0 阅读:0

職場菊菊子

簡介:感謝大家的關注