Excel操作类(VB.NET)

vb.net 操作excel Imports Microsoft.Office.Interop.Excel Public Class Form1 Dim data_arr() As String Sub excelConnection() Dim newsht As Worksheet Dim excelpath As String Dim shtname As String Di... 阅读详情

(声明:魏滔序原创,转贴请注明出处。)

'引入Excel的COM组件

Imports System
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Core


Namespace ExcelEdit
 ''' <summary>
 ''' ExcelEdit 的摘要说明
 ''' </summary>
 Public Class ExcelEdit
  Public mFilename As String
  Public app As Excel.Application
  Public wbs As Excel.Workbooks
  Public wb As Excel.Workbook
  Public wss As Excel.Worksheets
  Public ws As Excel.Worksheet
    '
    ' TODO: 在此处添加构造函数逻辑
    '
  Public Sub New()
  End Sub
  Public Sub Create()
  '创建一个Excel对象
   app = New Excel.Application()
   wbs = app.Workbooks
   wb = wbs.Add(True)
  End Sub
  Public Sub Open(ByVal FileName As String)
  '打开一个Excel文件
   app = New Excel.Application()
   wbs = app.Workbooks
   wb = wbs.Add(FileName)
   'wb = wbs.Open(FileName,  0, true, 5,"", "", true, Excel.XlPlatform.xlWindows, "/t", false, false, 0, true,Type.Missing,Type.Missing);
   'wb = wbs.Open(FileName,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Excel.XlPlatform.xlWindows,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
   mFilename = FileName
  End Sub
  Public Function GetSheet(ByVal SheetName As String) As Excel.Worksheet
  '获取一个工作表
   Dim s As Excel.Worksheet = DirectCast(wb.Worksheets(SheetName), Excel.Worksheet)
   Return s
  End Function
  Public Function AddSheet(ByVal SheetName As String) As Excel.Worksheet
  '添加一个工作表
   Dim s As Excel.Worksheet = DirectCast(wb.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing), Excel.Worksheet)
   s.Name = SheetName
   Return s
  End Function

  Public Sub DelSheet(ByVal SheetName As String)
  '删除一个工作表
   DirectCast(wb.Worksheets(SheetName), Excel.Worksheet).Delete()
  End Sub
  Public Function ReNameSheet(ByVal OldSheetName As String, ByVal NewSheetName As String) As Excel.Worksheet
  '重命名一个工作表一
   Dim s As Excel.Worksheet = DirectCast(wb.Worksheets(OldSheetName), Excel.Worksheet)
   s.Name = NewSheetName
   Return s
  End Function

  Public Function ReNameSheet(ByVal Sheet As Excel.Worksheet, ByVal NewSheetName As String) As Excel.Worksheet
  '重命名一个工作表二

   Sheet.Name = NewSheetName

   Return Sheet
  End Function

  Public Sub SetCellValue(ByVal ws As Excel.Worksheet, ByVal x As Integer, ByVal y As Integer, ByVal value As Object)
  'ws:要设值的工作表     X行Y列     value   值
   ws.Cells(x, y) = value
  End Sub
  Public Sub SetCellValue(ByVal ws As String, ByVal x As Integer, ByVal y As Integer, ByVal value As Object)
  'ws:要设值的工作表的名称 X行Y列 value 值

   GetSheet(ws).Cells(x, y) = value
  End Sub

  Public Sub SetCellProperty(ByVal ws As Excel.Worksheet, ByVal Startx As Integer, ByVal Starty As Integer, ByVal Endx As Integer, ByVal Endy As Integer, ByVal size As Integer, _
   ByVal name As String, ByVal color As Excel.Constants, ByVal HorizontalAlignment As Excel.Constants)
  '设置一个单元格的属性   字体,   大小,颜色   ,对齐方式
   name = "宋体"
   size = 12
   color = Excel.Constants.xlAutomatic
   HorizontalAlignment = Excel.Constants.xlRight
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).Font.Name = name
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).Font.Size = size
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).Font.Color = color
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).HorizontalAlignment = HorizontalAlignment
  End Sub

  Public Sub SetCellProperty(ByVal wsn As String, ByVal Startx As Integer, ByVal Starty As Integer, ByVal Endx As Integer, ByVal Endy As Integer, ByVal size As Integer, _
   ByVal name As String, ByVal color As Excel.Constants, ByVal HorizontalAlignment As Excel.Constants)
   'name = "宋体";
   'size = 12;
   'color = Excel.Constants.xlAutomatic;
   'HorizontalAlignment = Excel.Constants.xlRight;

   Dim ws As Excel.Worksheet = GetSheet(wsn)
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).Font.Name = name
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).Font.Size = size
   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).Font.Color = color

   ws.get_Range(ws.Cells(Startx, Starty), ws.Cells(Endx, Endy)).HorizontalAlignment = HorizontalAlignment
  End Sub


  Public Sub UniteCells(ByVal ws As Excel.Worksheet, ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer)
  '合并单元格
   ws.get_Range(ws.Cells(x1, y1), ws.Cells(x2, y2)).Merge(Type.Missing)
  End Sub

  Public Sub UniteCells(ByVal ws As String, ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer)
  '合并单元格
   GetSheet(ws).get_Range(GetSheet(ws).Cells(x1, y1), GetSheet(ws).Cells(x2, y2)).Merge(Type.Missing)

  End Sub


  Public Sub InsertTable(ByVal dt As System.Data.DataTable, ByVal ws As String, ByVal startX As Integer, ByVal startY As Integer)
  '将内存中数据表格插入到Excel指定工作表的指定位置 为在使用模板时控制格式时使用一
   For i As Integer = 0 To dt.Rows.Count - 1

    For j As Integer = 0 To dt.Columns.Count - 1

     GetSheet(ws).Cells(startX + i, j + startY) = dt.Rows(i)(j).ToString()

    Next
   Next

  End Sub
  Public Sub InsertTable(ByVal dt As System.Data.DataTable, ByVal ws As Excel.Worksheet, ByVal startX As Integer, ByVal startY As Integer)
  '将内存中数据表格插入到Excel指定工作表的指定位置二
   For i As Integer = 0 To dt.Rows.Count - 1

    For j As Integer = 0 To dt.Columns.Count - 1


     ws.Cells(startX + i, j + startY) = dt.Rows(i)(j)

    Next
   Next

  End Sub


  Public Sub AddTable(ByVal dt As System.Data.DataTable, ByVal ws As String, ByVal startX As Integer, ByVal startY As Integer)
  '将内存中数据表格添加到Excel指定工作表的指定位置一
   For i As Integer = 0 To dt.Rows.Count - 1

    For j As Integer = 0 To dt.Columns.Count - 1


     GetSheet(ws).Cells(i + startX, j + startY) = dt.Rows(i)(j)

    Next
   Next

  End Sub
  Public Sub AddTable(ByVal dt As System.Data.DataTable, ByVal ws As Excel.Worksheet, ByVal startX As Integer, ByVal startY As Integer)
  '将内存中数据表格添加到Excel指定工作表的指定位置二
   For i As Integer = 0 To dt.Rows.Count - 1


    For j As Integer = 0 To dt.Columns.Count - 1


     ws.Cells(i + startX, j + startY) = dt.Rows(i)(j)
    Next
   Next

  End Sub
  Public Sub InsertPictures(ByVal Filename As String, ByVal ws As String)
  '插入图片操作一
   GetSheet(ws).Shapes.AddPicture(Filename, MsoTriState.msoFalse, MsoTriState.msoTrue, 10, 10, 150, _
    150)
   '后面的数字表示位置
  End Sub

  'public void InsertPictures(string Filename, string ws, int Height, int Width)//插入图片操作二
  '{
  '    GetSheet(ws).Shapes.AddPicture(Filename, MsoTriState.msoFalse, MsoTriState.msoTrue, 10, 10, 150, 150);
  '    GetSheet(ws).Shapes.get_Range(Type.Missing).Height = Height;
  '    GetSheet(ws).Shapes.get_Range(Type.Missing).Width = Width;
  '}
  'public void InsertPictures(string Filename, string ws, int left, int top, int Height, int Width)//插入图片操作三
  '{

  '    GetSheet(ws).Shapes.AddPicture(Filename, MsoTriState.msoFalse, MsoTriState.msoTrue, 10, 10, 150, 150);
  '    GetSheet(ws).Shapes.get_Range(Type.Missing).IncrementLeft(left);
  '    GetSheet(ws).Shapes.get_Range(Type.Missing).IncrementTop(top);
  '    GetSheet(ws).Shapes.get_Range(Type.Missing).Height = Height;
  '    GetSheet(ws).Shapes.get_Range(Type.Missing).Width = Width;
  '}
Public Sub InsertActiveChart(ByVal ChartType As Excel.XlChartType, ByVal ws As String, ByVal DataSourcesX1 As Integer, ByVal DataSourcesY1 As Integer, ByVal DataSourcesX2 As Integer, ByVal DataSourcesY2 As Integer, _
   ByVal ChartDataType As Excel.XlRowCol)
  '插入图表操作
   ChartDataType = Excel.XlRowCol.xlColumns
   wb.Charts.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing)
   wb.ActiveChart.ChartType = ChartType
   wb.ActiveChart.SetSourceData(GetSheet(ws).get_Range(GetSheet(ws).Cells(DataSourcesX1, DataSourcesY1), GetSheet(ws).Cells(DataSourcesX2, DataSourcesY2)), ChartDataType)
   wb.ActiveChart.Location(Excel.XlChartLocation.xlLocationAsObject, ws)
  End Sub
  Public Function Save() As Boolean
  '保存文档
   If mFilename = "" Then
    Return False
   Else
    Try
     wb.Save()
     Return True
    Catch ex As Exception

     Return False
    End Try
   End If
  End Function
  Public Function SaveAs(ByVal FileName As Object) As Boolean
  '文档另存为
   Try
    wb.SaveAs(FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, _
     Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)

    Return True
   Catch ex As Exception


    Return False
   End Try
  End Function
  Public Sub Close()
  '关闭一个Excel对象,销毁对象
   'wb.Save();
   wb.Close(Type.Missing, Type.Missing, Type.Missing)
   wbs.Close()
   app.Quit()
   wb = Nothing
   wbs = Nothing
   app = Nothing
   GC.Collect()
  End Sub
 End Class
End Namespace
 

VB.NET利用openXML读取EXCEL数据(一) 用VB.NET访问openXML,读EXCEL数据 阅读详情

相关推荐

掌握.NET框架下Excel交互技术:深入理解Microsoft.Office.Interop.Excel.dll

简介:Microsoft.Office.Interop.Excel.dll是.NET环境中的重要组件,用于C#、VB.NET等语言与Excel应用程序交互。通过该项目,开发者可以实现对Excel文件的读写和编辑操作。组件无需额外安装,可直接在.NET Framework项目中添加引用。本指南详细介绍了如何在.NET中使用该DLL,并强调了性能、资源管理、错误处理和版本兼容性的重要性。

weixin_32102617的博客 1536

vb.net操作Excel表格类

Public Class Execl Private ExcelApp As Microsoft.Office.Interop.Excel.Application Private ExcelBook As Microsoft.Office.Interop.Excel.Workbook Private ExcelSheet As Microsoft.Office.Intero

Lucky_HDS的专栏 4028

vb.net开发Excel

vb.net开发Exce格式总结 l vb.net开发Excel vb.net开发Excel格式总结

.net excel操作类

<br />using System; <br />using System.Collections.Generic; <br />using System.Text;  <br />#endregion <br />namespace CommonUtilities.Office <br />{ <br />    /// <summary> <br />    /// Excel操作接口 <br />    /// </summary> <br />    public interface IExcel

geass的专栏 758

vb.net适用的EXCEL类

vb.net适用于的自定义类 其中含有数据导入及数据导出,源数据库为SQL Sever

.net excel操作通用类

个基于.Net的通用的Excel读写管理类库,以简化基于.Net平台的Excel应用开发 主要关注以下几个方面功能: 1. 文件读取 2. 文件某单元格读取 3. 文件写入 4. 包括样式的某单元格写入

vb.net读取写入EXCEl的终极方法-NOPI。

据我浅薄的知识,之前只知道两种操作excel的方法: 一。ODBC操作excel 看下图: 1.ODBC 由于初期连接不同的数据库通过vb.net教程各种不同的API,ODBC就是将各种不同的API封装成统一的接口。当sql语句进入接口时驱动器管理器会判断将他们送入对应的驱动器(driver),由对应的驱动将sql语句送入对应的数据库。 缺点:不同版本的excel,需要添加不同的ODBC数据源。 2.OLEDB与ODBC OLEDB:一个基于COM(Componet Object Model,DOS可执行

chinaherolts2008的博客 1667

C#.Net操作Excel通用帮助类ExecelHelper.cs

Excel输出打印模块,将DataTable数据写入Excel文件(自动分页),将DataTable数据写入Excel文件(不分页),将DataTable数据写入Excel文件(自动分页,并指定要合并的列索引) , 将二维数组数据写入Excel文件(自动分页/不分页),支持合并指定列的相同行,支持隐藏指定名称/索引的工作表,支持拷贝指定个数的工作表的副本并重命名,根据名称删除工作表,向指定文本框写入数据,对指定WorkSheet操作等。

VB.NET使用EXCEL常见操作

首先,须在项目里引用: 添加引用Microsoft.Office.Interop.Excel Imports Excel = Microsoft.Office.Interop.Excel 1 打开Excel: Dim myexcel as new Excel.Application()  myexcel.visible=true 2 添加新的工作簿: myexcel.Workbooks.ad

春之韵 8593

ASP.NET(c#) EXCEL操作类

下载就能用 用vs2005开发的,所有操作EXCEL的方法基本都有了

深度:善用人工智能推动高等教育学习、教学与治理的深层变革

从学习方式的革新到教学模式的重构,再到治理体系的升级,人工智能已不再仅仅是辅助工具,而是成为重塑高等教育生态的核心驱动力。某高校的创新实践表明,引入AI生成虚拟患者后,医学生在临床沟通训练中的共情能力提升27%,印证了技术工具与人文教育的互补效应。美国卡内基梅隆大学的实践表明,经过系统培训的教师,其课程设计效率提升40%,且能精准定位83%学生的学习难点。当每个学生都掌握提示工程原理,每位教师都能驾驭AI教学工具,每所高校都建立智能治理框架时,教育将真正实现"以人为本"与"技术为用"的有机统一。

IT胶囊 1093

Asp.Net Excel 操作 类

因为工作原因,做了很多次关于Winform操作Excel的项目 今天把操作Excel的类整理了一下,跟大家分享 还有很多操作,大家可以补充或者提意见给我.非常感谢! using System; using Microsoft.Office.Interop; using Microsoft.Office.Core; public class ExcelHelp {

'尛東峝學. 1183

避坑指南:LVGL在Arduino环境编译报错?3步搞定lv_conf.h路径问题(附ST7789屏幕调试技巧)

本文详细解析了在Arduino环境中配置LVGL图形库时,如何解决常见的“lv_conf.h file not found”编译报错问题。通过三步法:定位并复制模板文件、启用核心配置并指定路径、配置基础参数,从根本上解决路径问题。文章还结合ST7789屏幕驱动,分享了使用TFT_eSPI库进行显示适配、内存优化及背光控制等实战调试技巧,帮助开发者建立清晰、可维护的嵌入式UI工程基础。

lake5的博客 860

【VB.NET】Excel操作类

'引入Excel的COM组件 Imports System Imports System.Data Imports System.Configuration Imports System.Web Imports System.Web.Security Imports System.Web.UI Imports System.Web.UI.WebControls Imports Sy

763

Win7运行豆包桌面版的兼容性原理与实操方案

Windows 7作为已停止主流支持的操作系统,其与现代Electron应用的兼容性问题本质是API层面的系统调用断层。Electron 28+依赖的GetSystemTimePreciseAsFileTime、SetThreadDescription等Windows 10专属API,在Win7 SP1中天然缺失,导致‘无法定位程序输入点’等典型错误。解决路径并非简单打补丁,而是需理解底层ABI差异、补丁堆叠边界及动态API转发机制。关键技术价值在于通过兼容层(如VxKex NEXT)或运行时降级(Elec

weixin_33290540的博客 1338

视觉语言模型对抗攻击与防御:从传统方法到多模态挑战

本文深入探讨了视觉语言模型(VLM)面临的对抗攻击与防御挑战,从传统单模态攻击到多模态威胁的演进。分析了包括FGSM、PGD等经典攻击方法,以及新兴的多模态攻击如跨模态对抗样本和越狱攻击。同时提出了跨模态一致性检查、动态防御机制等创新防御策略,并结合医疗影像诊断等实战案例,为提升AI系统安全性提供了重要见解。

weixin_29231725的博客 392

Excel操作类VB.Net版的

Excel操作类VB.Net版的

没有想法的个人空间 728

银行一表通监管报送系统详解

国家金融监管总局对于“一表通”的总体描述为:通过建立一套明细级、标准化的数据体系和汇总计算规则,将银行机构传送至监管可信区的业务明细数据汇总生成财务指标、监管指标和监管报表,大幅提升监管数据时效性,统一数据标准,实现数据间的穿透和整合,同时改变机构多头报送数据模式,减轻机构报送负担。

银行信息系统应用架构详解 2517

操作Access数据库和Excel的vb.net类升级修改版

操作Access数据库和Excel的vb.net类升级修改版 自动识别数据引擎,优选 ACE 数据库引擎。 编译64位程序必须安装64位数据库引擎或64位OFFICE, 编译32位程序必须安装64位数据库引擎或43位OFFICE。 下载:https://download.csdn.net/download/zyyujq/11963527 ...

中游鱼的博客 360

2026 年 AI 大模型资讯深度研究报告 / 2026 年 3 月 11 日

2026 年已成为 AI 大模型发展的关键拐点年。从 2023 年 ChatGPT 开启的技术奇点,历经多模态突破、推理能力崛起,至 2025 年形成产业爆发态势,AI 大模型正从"技术验证期"迈向"产业落地期"。核心发现技术突破: OpenAI 于 2026 年 3 月 6 日发布 GPT-5.4,首次实现原生计算机操控能力,在 OSWorld 桌面操控测试中以 75% 成功率超越人类 (72.4%),标志着 AI 从"对话工具"向"自主数字员工"的时代跃迁市场格局。

AI天才研究院 785

语义分割(Semantic Segmentation)近年发展综述

目标:为图像中每个像素分配一个语义类别标签(如“道路”、“行人”、“天空”),不区分同类实例。关键挑战精确边界恢复(高空间分辨率)全局上下文理解(大感受野)计算效率与精度平衡小样本/弱监督泛化语义分割的十年演进,是一条从专用→通用、封闭→开放、慢速→实时、像素→语义2015:FCN/U-Net 奠基;2018:DeepLabv3+/PSPNet 实现高精度;2020:HRNet+OCR 登顶竞赛;2021:SegFormer 开启 Transformer 新纪元;2023+

浩瀚之水的专栏 977

方法range作用于对象worksheet时失败_VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)...

效果展示引用excel类Imports Microsoft.Office.InteropExcel类代码开始Public Class Cls_excel返回Excel对象 ''' ''' 返回Excel对象 ''' ''' Private Shared Function Xlapp() As Excel.Application Try ...

weixin_34234884的博客 1843

当AI学会写“自传”:OpenClaw 的 SOUL.md 如何把配置文件变成一颗会变形的心

SOUL.md。

步子哥的博客 1309

通过vb.net 和NPOI实现对excel的读操作

通过vb.net 和NPOI实现对excel的读操作,很久很久前用过vb,这次朋友的代码是vb.net写的需要一个excel的操作, 就顾着着实现功能了,大家凑合着看吧 Option Explicit On Imports NPOI.SS.UserModel Imports System.IO Public Class ExcelHelper Public Sh...

weixin_33724046的博客 2895

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Excel Helper 源代码(VB.NET)

 自己写了一个对Excel操作的类, 封装了Excel的通常的操作,以简化生成 Excel 报表的代码量。代码基于 .net 2.0, Excel 2003该 Assembly 共有两个类:1.  XlsReport.vbImports SystemImports Excel = Microsoft.Office.Interop.ExcelPublic Enum XlCopyA

Lullaby's Blog 7603

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: 支持多曲线的历史曲线控件源码
下一篇: 绿软必备:ActiveXDLL免注册调用的方法(改良自阿国哥的源码)
迈克揉索芙特
博客等级 码龄24年 865粉丝 71原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值