首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Interop with C#,Excel保存更改原件.怎么否定这个?

使用Interop with C#,Excel保存更改原件的方法可以通过以下步骤实现:

  1. 首先,确保已经安装了Microsoft Office Excel,并且已经安装了Microsoft Excel Object Library。
  2. 在Visual Studio中创建一个新的C#项目,并添加Microsoft.Office.Interop.Excel的引用。
  3. 在项目中创建一个Excel应用程序实例,并打开一个Excel文件。
  4. 对Excel文件进行修改,例如添加、删除、修改单元格的值等。
  5. 保存修改后的Excel文件,并关闭Excel应用程序。

以下是一个简单的示例代码:

代码语言:csharp
复制
using System;
using Microsoft.Office.Interop.Excel;

namespace ExcelInterop
{
    class Program
    {
        static void Main(string[] args)
        {
            Application excelApp = new Application();
            Workbook workbook = excelApp.Workbooks.Open("C:\\path\\to\\your\\excel\\file.xlsx");

            // 对Excel文件进行修改
            Worksheet worksheet = workbook.Worksheets[1];
            worksheet.Cells[1, 1].Value = "Hello, World!";

            // 保存修改后的Excel文件
            workbook.Save();

            // 关闭Excel应用程序
            workbook.Close();
            excelApp.Quit();
        }
    }
}

需要注意的是,使用Interop with C#操作Excel文件时,需要确保已经安装了Microsoft Office Excel,并且已经安装了Microsoft Excel Object Library。此外,使用Interop with C#操作Excel文件可能会存在一些性能问题,因为它需要启动Excel应用程序并与其进行交互。如果需要处理大量的Excel文件或者需要高效的性能,可以考虑使用其他方法,例如使用OpenXML或者第三方库来处理Excel文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.Net之路(十三)数据库导出到EXCEL

哈哈 问题二:看到这个我首先想打的是可能会不会是权限的问题,我非常快否定这个。由于依据代码,我已经创建了这个xls文件。最后发现我的文件不是放在了指定的我訪问的文件路径,这样就对了。...所以我这个用server的路径这样就能够存在指定的物理路径了。 默认情况下:使用Nowbook.saveas保存是在我的文档目录下的。...来自百度文库: MSDN: 怎样使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿数据传输 http://support.microsoft.com.../kb/306023/zh-cn 怎样:使用 COM Interop 创建 Excel 电子表格(C# 编程指南) http://msdn.microsoft.com/zh-cn/library.../kb/302084/zh-cn C#中创建、打开、读取、写入、保存Excel的一般性代码 http://hi.baidu.com/zhaochenbo/blog/item/f6d70ff7bf32fa2a730eec39

2K20

极速40分钟写出SQLite数据展示与导出功能【技术创作101训练营】

怎么直接连接呢?答案是直接引用SQLite 的组件【https://github.com/praeclarum/sqlite-net】就可以了,上代码。。...就完成了,本来想用我之前介绍的EPPlus【EPPlus秘籍之Excel导出之图表导出】来做导出的,考虑我们是写Winform,客户使用肯定有OFFICE的控件,那就拿来主义,直接从网上拿一个就是了,点指兵兵点到谁人做大兵...} Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks; Microsoft.Office.Interop.Excel.Workbook...workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);...Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets

1.1K4240

如何使用 Blazor 框架在前端浏览器中导入和导出 Excel

一个常见的用例是将现有的 Excel 文件导入 Blazor 应用程序,将电子表格数据呈现给用户,并且能够允许进行任何更改,最后将该数据导出回 Excel 文件或将其保存到数据库。...Excel 导出 创建 SpreadJS Blazor 组件 SpreadJS 是一个非常强大且可扩展的 JavaScript 电子表格组件,它使这个过程变得更加简单。...“exampleJSInterop.js”的文件,因此我们需要对其进行编辑以添加有助于将 C# 代码连接到 SpreadJS 的 JavaScript 代码的逻辑: // This file is to...SpreadJS 创建 Blazor 应用程序 现在我们已经使用 SpreadJS 创建了一个组件,我们可以在 Blazor 应用程序中使用它。...首先,我们可以使用“Blazor WebAssemblyApp”模板添加一个新项目: 要添加 SpreadJS 组件,我们需要在解决方案资源管理器中右键单击这个新项目的依赖项,然后单击“添加项目引用”

23420

word转pdf

在日常代码开发中经常用到的功能就是word转pdf,下面就来介绍两种转的方式 第一种:Aspose.word aspose的开源组件非常多,比如excel的导出,支持的合并单元等功能非常好用,这里用到的是...word的相关第三方组组件 这里先提供第三方组件的插件(java和c#) https://download.csdn.net/download/u013407099/10349630 直接上代码 c#...Aspose转换时候要注意doc.save方法一定要使用直接存到指定路径为文件,使用其他的方法混村在pdf准还完毕后进程未释放被占用导致文件使用为0字节的问题,代码中已加入去除水印的部分,可以参考 虽然...Aspose很好用,但是终究是第三方的东西,有时候转出的来复杂文件效果可能显示不是那么好,那么在c#中可可以使用Microsoft提供的word的com组件来转换,转出来的效果就是和word中另存pdf...转换字的格式有问题的,请安装相关字体,如方正小标宋等(非windows自带字体) 5.转换时要将word先以文件的形式保存下来,不要以流的形式的重载方法转换,可能出现错乱问题 6.如果服务器装过wps的

46130

关于asp.net与winform导出excel的代码

将将输出excel格式,也就是说以电子表格的格式输出到客户端,这时浏览器将提示你下载保存。...asp.net导出Excel/Csv格式数据最优方案(C#) 好久没有写点什么了,也许是太忙。一年了,积累了不少好的东东,有机会时就写出来与大家分享。 好,言归正传。...导出到Excel/Csc文件并不难,所以就有好多方法:控件直接Render、把DataSet输出成String再Write出来等,(当然如果调用Excel程序的库文件的话还可以使用更强的直接操作Excel...可是国家的身份证升级了,号码变成18位,我把它输入到数据库,导出来时,用刚才的方法处理过,18位没错,可是最后三位怎么都是零了!Excel为我们做了太多的事,不管是应该的还是不应该的。 怎么解决?...excel = new Microsoft.Office.Interop.Excel.Application(); string path = ""; if (excel

5.5K10

基于Unity的编辑器开发(一): GUI框架技术

UI需要使用传统的方式来开发, 什么Qt/Winforms/WPF/Web等, 用Unity内置的UI也是一个思路 游戏内的逻辑基本都在mono虚拟机上跑, 外面再搞一套UI逻辑的话, 怎么做到公共代码的复用...还有另外一个思路, 就是使用类似ActiveX的Web控件技术, 不过这种对于游戏的改动太大, 使用上也有比较多限制, 所认不推荐....如果是C++项目, 那我会首选Qt, 之前折腾CLI的interop给自己留了下心理阴影…因为Unity游戏的主力语言还是C#, 所以只要选了Qt, 就绕不过interop, 放弃好了....后来我就入了.Net Interop的坑, 想来可能仅仅是因为这个PropertyGrid: ?...跑题了, 回到C#这边. WPF能找到的比较不错的属性编辑器大多是商用的: ?

4.6K80

Active APT

它还将恶意 OTM 文件(Outlook VBA 项目)保存到磁盘,其中包含宏、恶意电子邮件附件,在某些情况下,还保存了电子邮件应发送到的收件人列表。...我们已经看到这个模块以两种不同的语言实现:C# 和 VBScript。 C# 与许多其他工具一样,该模块以 7z 自解压存档的形式提供。在里面,有一个受密码保护的 RAR 存档,其中包含一些文件。...恶意软件将每个找到的文档移动到AppData文件夹,使用Microsoft.Office.Interop对象将恶意 Word 或 Excel 宏插入其中,然后将文档移回其原始文件夹。...C# 编译器模块 这个 .NET 可执行文件与 Gamaredon 小组使用的许多其他工具类似,使用了诸如垃圾代码插入和字符串混淆之类的混淆技术。它在其主体中包含下载器的 base64 编码源代码。...他们不断更改其工具使用的域,但主要是在少数 ASN 上。仔细分析表明,他们为一小群受害者使用单独的域。请查看ESET 的 GitHub 帐户以获取 Gamaredon 组使用的广泛域列表。

7.9K00

在VB.net中,List(of string())与List(of List(of string))有什么区别

List(Of String())   - 这个类型表示一个列表,其中的每个元素是一个字符串数组(String array)。这意味着你可以将多个字符串数组添加到这个列表中。...List(Of List(Of String))   - 这个类型表示一个列表,其中的每个元素本身就是一个包含字符串的列表(即嵌套列表或二维列表)。...))`数据结构,并希望将它输出到Excel工作表中,您可以按照以下步骤操作: Imports Microsoft.Office.Interop.Excel ' 假设您已经有了一个 List<List<string...worksheet.Cells(startRow + i, j + 1).Value = data(i)(j) End If Next Next ' 刷新工作簿以显示更改...workbook.SaveAs("YourFilePath.xlsx") ' 保存到指定位置 excelApp.Visible = True ' 如果需要,可以让Excel窗口可见 ' 清理资源 Marshal.ReleaseComObject

23710

(翻译)LearnVSXNow!-#5 VSX的基本概念

一个package可以把它的状态和配置信息保存在持久化存储设备中,并且可以读取这些配置。例如文本编辑器可以设置语法高亮、字体、颜色、标签等。...我们有两种主要的方法去使用VSX中的COM对象:创建非托管代码(例如用C++);或者利用interoperability程序集中来编写托管代码(用c#或VB.NET)。...如果只使用interop程序集的话,我们的代码会变得非常冗长,并且不能够使用.NET和C#提供的语言和一些运行时的功能。...这些interop程序集的名字以Microsoft.VisualStudio开头,但不是所有以这个开头的程序集都是interop程序集。在这个文件夹下面,你可以看到差不多100个程序集文件。...~.OLE.Interop 这个程序集包装了几百个标准OLE类型。

88220

服务器是干嘛的

道理很简单,C#后于C++ DCOM技术出现,作为前辈的DCOM技术不可能预知采用什么技术支持小辈C#。在C#里面使用DCOM的服务,跟 C++的COM客户端的步骤是一样的,即: 1....这样做的目的,是为了让本文能够更专注的解释C#客户端使用DCOM服务器的过程—因为把COM库后台执行的操作尽可能地排除掉了。 下面是这个DCOM服务器的源代码: 1....因此在C#客户端,只需要引用这个Interop Assembly就可以了,关系图如下: 生成Interop Assembly 因为需要生成一个类型库(.tlb)文件,所以我们需要手工创建一个IDL文件...把这个文件保存为demosimpleobject.idl。...下一步就是生成类型库文件,并生成Interop Assembly了,毕竟C#程序不理解类型库文件,需要Interop Assembly这个中介才能跟COM打交道。

7.2K30

2019-3-7-手把手教你PInvoke

---- 这个时候你就会接触到一些美妙的dll,比如user32.dll,kernal32.dll 当然这些是非托管的代码,我们在.net中无法直接使用,所以我们会需要使用PInvoke进行调用 于是你会使用...第一个是一个HWND类型,表示一个窗口句柄, 可以通过HWND=Handle to A Window来记忆 那么在c#中我们可以使用Intptr类型,表示一个指针或者句柄 ?...接着是签名和参数,LPGUID我们没有提过,看解释这边是指向GUID的一个指针,所以我们使用Guid这个类型 ?...Tip 有同学说,这么说完了,我还是担心会写错怎么办 没关系,这里给大家推荐一个网站pinvoke.net: the interop wiki!...,里面聚集了各种pinvoke的写法,如果不清楚怎么使用,可以去其中查看 另外vs也带有pinvoke的插件,使用方法可以参见吕毅同学的博客使用 PInvoke.net Visual Studio Extension

83130
领券