可以替代MS-Access/Excel进行电子表格操作。

时间:2022-09-27 12:27:33

I have an MS-Access application that formats the data in two large spreadsheets (20,000+ rows), imports this data into tables, runs a few queries comparing the data and outputs the results as excel files.

我有一个MS-Access应用程序,它将数据格式化为两个大型电子表格(20,000多行),将数据导入到表中,运行一些查询来比较数据,并将结果输出为excel文件。

The problem is that as the application (and VBA code) grows it's becoming more of a pain using Access and I'm wondering if there is a better approach?

问题是,随着应用程序(和VBA代码)的增长,使用Access变得越来越麻烦,我想知道是否有更好的方法?

What would be the advantages/disadvantages of a .NET(C#)solution say, compared to MS-Access, and what would be the best libraries etc. to use?

与MS-Access相比,.NET(c#)解决方案的优点和缺点是什么?

Cheers,

欢呼,

Breandán

Breandan

Cheers for the responses so far, I forgot to mention though that this application needs to be stand alone, I need to be able to package up the app and and send it to the end user to install on their computer. This only has (of note) MS-Office and .Net Framework installed, so I'm not sure how feasible MySQL etc. would be with no where to host it.

到目前为止,我已经忘记提醒大家了,虽然这个应用程序需要独立运行,但是我需要能够打包应用程序并将其发送给终端用户,以便安装到他们的计算机上。它只安装了MS-Office和。net框架,所以我不确定MySQL等在哪里都没有托管的可行性。

8 个解决方案

#1


5  

Moving to .Net would allow you to have better tools at your disposal to manipulate the data.

移动到。net可以让你有更好的工具来处理数据。

You have to be careful though about what exactly you are doing at the moment with your Access solution: if you're doing a lot of special case handling for processing the data from and to Excel, then chances are you'll still have to do those in whatever language or framework you chose.

你必须小心尽管此刻你在做什么和你的访问解决方案:如果你做很多特殊情况对处理的数据和处理Excel,你还是要做那些在你选择的任何语言或框架。

If you have a lot of code invested into pulling the Excel Data into Access then you could still keep Access for that part and use .Net to help you in doing the comparisons and creation of the resulting Excel report.

如果您投入了大量的代码来获取Excel数据,那么您仍然可以继续访问该部分,并使用. net来帮助您进行比较和创建结果的Excel报告。

It's a bit hard to really make a recommendation without knowing more about your project.

如果不了解您的项目,就很难真正提出建议。

If you just want to use automation to pull-in data and create your Excel file, then .Net may not offer you a lot as you'll still have to do the exact same things you've already done in Access.

如果您只是想使用自动化来提取数据并创建您的Excel文件,那么. net可能不会为您提供很多,因为您仍然需要做与您在Access中已经做过的相同的事情。

Instead, you may consider using commercial Excel component that use different paradigm to open/create Excel spreadsheet in a nicer way.
There are a few component vendors that have these.

相反,您可以考虑使用使用使用不同范例的商业Excel组件以更好的方式打开/创建Excel电子表格。有一些组件供应商有这些。

One solution is also to use reporting tools to directly pull the data from Excel and produce a report that you can simply save back to Excel.

一种解决方案是使用报表工具直接从Excel中提取数据,生成一个可以简单地保存回Excel的报表。

My advice would be:

我的建议是:

  • If your Access solution is stable and it's doing its job, then you may consider keeping it.
    Moving to a new system will cost you time and money and you have to check if the outcome is worth the investment.
  • 如果您的访问解决方案是稳定的,并且它正在发挥作用,那么您可以考虑保留它。搬到一个新的系统将花费你的时间和金钱,你必须检查结果是否值得投资。
  • If you feel too constrained by the capabilities of Access, then spend some time experimenting with various solutions and components that allow you to manipulate Excel, for instance using a LINQ Excel provider (1 or 2) may provide a nice abstraction, or try various commercial components until you find one that matches your needs.
  • 如果你觉得太限制访问的功能,然后花些时间尝试各种解决方案和组件允许您操作Excel,例如使用LINQ Excel提供者(1或2)可能提供一个抽象,或者尝试各种商业组件,直到你找到一个匹配你的需求。

If you're going the .Net route, you may end-up not even needing a database for processing the data.
If you do though, you can always use Jet -or its new version, ACE- as a back-end that will create MSAccess databases.
It's already installed on most machines and well supported by MS tools.
Other good options are SQL Server Compact and SQLite as none of these require complex setup, just a DLL to ship with your project.

如果您正在走。net路线,您可能甚至不需要一个数据库来处理数据。如果您这样做,您可以始终使用Jet或它的新版本ACE作为后端来创建MSAccess数据库。它已经安装在大多数机器上,并且得到了MS工具的良好支持。其他好的选项是SQL Server Compact和SQLite,因为它们都不需要复杂的设置,只需要一个DLL来完成您的项目。

#2


2  

At SpreadsheetGear, our specialty is high performance Excel compatible spreadsheet components. We hear all the time (see a few customer quotes on this page) that SpreadsheetGear for .NET is faster and easier to use than other options.

在展讯设备公司,我们的专长是高性能与Excel兼容的电子表格组件。我们一直都听说。net的SpreadsheetGear比其他的更快捷、更容易使用。

There are live ASP.NET samples with C# and VB.NET source and a free trial if you want to try it for yourself.

有活的ASP。使用c#和VB的净样本。如果你想自己尝试的话,可以使用网络资源和免费试用。

Disclaimer: I own SpreadsheetGear LLC

免责声明:我拥有SpreadsheetGear LLC公司

#3


2  

I'd say for the data volumes of 20,000 rows you're working with, a SQL server database isn't really going to gain you much except for moving to stored procedures for data manipulation. In this respect, it's arguably better than VBA, so you will probably get a code base that's more maintainable. However, the data volumes you describe are tiny by database standards. I wouldn't expect performance to be an issue until you have a one or two orders of magnitude more data than that.

我想说,对于您正在使用的20,000行的数据量,一个SQL server数据库并不能真正获得您的好处,除非是迁移到存储过程中进行数据操作。在这方面,它可能比VBA更好,因此您可能会得到一个更易于维护的代码库。但是,根据数据库标准,您描述的数据量很小。我不认为性能是一个问题,除非你有一个或两个数量级以上的数据。

If you want to do a data munging job, you might be better off with a scripting language like Perl or Python. These languages are much better for data manipulation tasks than C# or VB.Net. Good, free windows distributions of both Perl and Python can be found at www.activestate.com.

如果您想要进行数据咀嚼工作,最好使用Perl或Python等脚本语言。这些语言对于数据处理任务来说比c#或VB.Net要好得多。好的,免费的Perl和Python的windows发行版都可以在www.activestate.com找到。

Excel can be scripted with Python through the python-com interface using the same API as VBA, but gaining a much better language with a huge variety of libraies available. Similarly, this can also be done with Perl through Win32::OLE. There are also some utility libraries such as pyexcelerator, xlrd, and xlwt, for Python and Spreadsheet::WriteExcel/Spreadsheet::ParseExcel for Perl. There are also modules available for building installable windows applications such as Py2EXE or Perl Dev Kit

可以使用Python通过Python -com接口使用与VBA相同的API编写Excel,但是可以通过大量的libraies获得更好的语言。同样,这也可以通过Win32::OLE来完成。还有一些实用程序库,如pyexcelerator、xlrd和xlwt,用于Python和电子表格::WriteExcel/Spreadsheet::ParseExcel for Perl。还有一些模块可用于构建可安装的windows应用程序,如Py2EXE或Perl Dev Kit

This * posting discusses using Excel from Python, including generating a wrapper with MakePy, in a bit more depth.

这个*帖子讨论了如何使用Python中的Excel,包括用MakePy生成一个包装器。

It you're working with .Net, you could also try IronPython - it's a native .Net implementation of Python, which will run anywhere with a suitable .Net runtime installed. You can get also a free Visual Studio plugin called IronPythonStudio).

如果您正在使用。net,您也可以尝试IronPython——它是Python的一个本机。net实现,它将在安装了适当的。net运行时的任何地方运行。你也可以得到一个免费的Visual Studio插件叫IronPythonStudio)。

Another alternative is R. R is primarily a statistical package, but the core language has strong data manipulation capabilities and a variety of interface libraries (and others such as graphics, various statistical computations and an Excel interface.. It's actually quite a powerful general purpose data manipulation and reporting tool.

另一种选择是R. R主要是一个统计软件包,但是核心语言具有强大的数据处理能力和各种接口库(以及其他的如图形、各种统计计算和Excel接口)。它实际上是一个非常强大的通用数据操作和报告工具。

#4


1  

The Apache POI library may be of use to you. It's java based and can work on excel files.

Apache POI库可能对您有用。它是基于java的,可以处理excel文件。

Another choice may be to use a direct ODBC driver to work on the XLS file. Might be a lot of records though..

另一种选择可能是使用直接ODBC驱动程序来处理XLS文件。可能有很多记录。

http://poi.apache.org/

http://poi.apache.org/

The POI project consists of APIs for manipulating various file formats based upon Microsoft's OLE 2 Compound Document format, and Office OpenXML format, using pure Java. In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. POI is your Java Excel solution (for Excel 97-2007). However, we have a complete API for porting other OLE 2 Compound Document formats and welcome others to participate.

POI项目由api组成,用于操作基于Microsoft的OLE 2复合文档格式的各种文件格式,以及使用纯Java的Office OpenXML格式。简而言之,您可以使用Java读写MS Excel文件。此外,您还可以使用Java读写MS Word和MS PowerPoint文件。POI是您的Java Excel解决方案(适用于Excel 97-2007)。但是,我们有一个完整的API来移植其他的OLE 2复合文档格式,并欢迎其他人加入。

OLE 2 Compound Document Format based files include most Microsoft Office files such as XLS and DOC as well as MFC serialization API based file formats.

基于OLE 2复合文档格式的文件包括大多数Microsoft Office文件,如XLS和DOC,以及基于MFC序列化API的文件格式。

Office OpenXML Format based files include the new (2007+) xml based file formats, including Microsoft office files such as XLSX, DOCX and PPTX.

基于Office OpenXML格式的文件包括新的(2007+)基于xml的文件格式,包括Microsoft Office文件,如XLSX、DOCX和PPTX。

Edit: Check out a tool like Monarch Pro, it is superb at data mining, etc.

编辑:查看一个工具,如Monarch Pro,它在数据挖掘等方面是极好的。

#5


1  

SpreadsheetGear totally rocks! You get the best of both worlds, where all the logic in spreadsheet is available for you to execute from your code. You can really shorten your development, as you can have the business units help shape the logic for their business processes.

SpreadsheetGear完全岩石!您可以充分利用这两种情况,电子表格中的所有逻辑都可以从代码中执行。您可以真正缩短开发,因为您可以让业务单元帮助为其业务流程塑造逻辑。

#6


0  

I would consider a system that used SQL Server Compact to start with. You can use it with no install if you wish to (though I suggest you do, it's much easier to just assume the requisite dll is in the GAC). If subsequently you find you need more functionality (say stored procedures or TEXT/BLOB columns, that sort of thing) then moving to SQL Server will be trivial.

我将考虑使用SQL Server Compact作为开始的系统。如果您愿意(尽管我建议您这样做,只是假定在GAC中有必要的dll),您可以使用它而不需要安装。如果随后您发现需要更多的功能(比如存储过程或文本/BLOB列之类的),那么迁移到SQL Server将变得非常简单。

If your database is regenerated every time then trying different things out is a simple as pointing to a different file.

如果每次都重新生成数据库,那么尝试不同的东西是很简单的,比如指向不同的文件。

If you have considerable code in VBA I would suggest first moving it to VB.Net (making this, first and most error prone transition easier) then migrating that to c# if that is your desire.

如果您在VBA中有大量代码,我建议您首先将其移到VB中。Net(使这个,首先也是最容易出错的转换更容易)然后迁移到c#。

As to generating/altering the excel sheet you have three options.

对于生成/修改excel表,您有三个选项。

One is to use VSTO though Wikipedia is a much better description. This will be closest to your old VBA development though it has a whole different set of complexities.

一个是使用VSTO,尽管Wikipedia是一个更好的描述。这将最接近您的旧VBA开发,尽管它具有完全不同的复杂性。

Another is to use one of the excel output libraries, there are a few plus many more commercial ones. I couldn't recommend any personally though other's here have.

另一个是使用excel输出库中的一个,还有一些更商业化的。我个人不推荐任何人,尽管这里的其他人有。

The last is just dump out csv and let excel deal with it when you open it.

最后是转储csv,让excel在打开时处理。

#7


0  

It sounds to me that Access isn't helping you as an intermediary. 20K rows doesn't sound like much to me. You said you go from Excel to Access and then back to Excel. Do you need to keep the Access data around?

在我看来,访问并不能帮助你作为一个中介。20K行对我来说不算什么。你说你从Excel转到Access然后再回到Excel。是否需要保留访问数据?

If not, I'd suggest going with .Net and a third-party Excel library like FlexCel and go straight from Excel to Excel in memory. Packaging .Net applications is easy with either an installer or ClickOnce.

如果没有的话,我建议使用。net和FlexCel这样的第三方Excel库,直接从Excel到Excel。打包。net应用程序可以轻松地使用安装程序或ClickOnce。

#8


-2  

I wonder if you've outgrown Access. This is what more robust databases, like SQL Server, are born for. 20,000 rows isn't a large number for SQL Server, but I'll bet it's getting there for Access. How much disk space is Access taking up when you run it? How fast is the data growing, if at all?

我想知道你是否已经长大了。这就是更健壮的数据库(如SQL Server)天生的用途。对于SQL Server来说,20,000行并不是一个很大的数字,但我敢打赌,它是为了访问而到达那里的。当您运行它时,访问占用了多少磁盘空间?数据增长有多快?

How well do you know C# versus VB? If you don't know C# well, it could be a good opportunity to learn. It's a problem that you already know well.

你对c#和VB了解多少?如果你不了解c#,这可能是一个很好的学习机会。这是一个你已经很了解的问题。

#1


5  

Moving to .Net would allow you to have better tools at your disposal to manipulate the data.

移动到。net可以让你有更好的工具来处理数据。

You have to be careful though about what exactly you are doing at the moment with your Access solution: if you're doing a lot of special case handling for processing the data from and to Excel, then chances are you'll still have to do those in whatever language or framework you chose.

你必须小心尽管此刻你在做什么和你的访问解决方案:如果你做很多特殊情况对处理的数据和处理Excel,你还是要做那些在你选择的任何语言或框架。

If you have a lot of code invested into pulling the Excel Data into Access then you could still keep Access for that part and use .Net to help you in doing the comparisons and creation of the resulting Excel report.

如果您投入了大量的代码来获取Excel数据,那么您仍然可以继续访问该部分,并使用. net来帮助您进行比较和创建结果的Excel报告。

It's a bit hard to really make a recommendation without knowing more about your project.

如果不了解您的项目,就很难真正提出建议。

If you just want to use automation to pull-in data and create your Excel file, then .Net may not offer you a lot as you'll still have to do the exact same things you've already done in Access.

如果您只是想使用自动化来提取数据并创建您的Excel文件,那么. net可能不会为您提供很多,因为您仍然需要做与您在Access中已经做过的相同的事情。

Instead, you may consider using commercial Excel component that use different paradigm to open/create Excel spreadsheet in a nicer way.
There are a few component vendors that have these.

相反,您可以考虑使用使用使用不同范例的商业Excel组件以更好的方式打开/创建Excel电子表格。有一些组件供应商有这些。

One solution is also to use reporting tools to directly pull the data from Excel and produce a report that you can simply save back to Excel.

一种解决方案是使用报表工具直接从Excel中提取数据,生成一个可以简单地保存回Excel的报表。

My advice would be:

我的建议是:

  • If your Access solution is stable and it's doing its job, then you may consider keeping it.
    Moving to a new system will cost you time and money and you have to check if the outcome is worth the investment.
  • 如果您的访问解决方案是稳定的,并且它正在发挥作用,那么您可以考虑保留它。搬到一个新的系统将花费你的时间和金钱,你必须检查结果是否值得投资。
  • If you feel too constrained by the capabilities of Access, then spend some time experimenting with various solutions and components that allow you to manipulate Excel, for instance using a LINQ Excel provider (1 or 2) may provide a nice abstraction, or try various commercial components until you find one that matches your needs.
  • 如果你觉得太限制访问的功能,然后花些时间尝试各种解决方案和组件允许您操作Excel,例如使用LINQ Excel提供者(1或2)可能提供一个抽象,或者尝试各种商业组件,直到你找到一个匹配你的需求。

If you're going the .Net route, you may end-up not even needing a database for processing the data.
If you do though, you can always use Jet -or its new version, ACE- as a back-end that will create MSAccess databases.
It's already installed on most machines and well supported by MS tools.
Other good options are SQL Server Compact and SQLite as none of these require complex setup, just a DLL to ship with your project.

如果您正在走。net路线,您可能甚至不需要一个数据库来处理数据。如果您这样做,您可以始终使用Jet或它的新版本ACE作为后端来创建MSAccess数据库。它已经安装在大多数机器上,并且得到了MS工具的良好支持。其他好的选项是SQL Server Compact和SQLite,因为它们都不需要复杂的设置,只需要一个DLL来完成您的项目。

#2


2  

At SpreadsheetGear, our specialty is high performance Excel compatible spreadsheet components. We hear all the time (see a few customer quotes on this page) that SpreadsheetGear for .NET is faster and easier to use than other options.

在展讯设备公司,我们的专长是高性能与Excel兼容的电子表格组件。我们一直都听说。net的SpreadsheetGear比其他的更快捷、更容易使用。

There are live ASP.NET samples with C# and VB.NET source and a free trial if you want to try it for yourself.

有活的ASP。使用c#和VB的净样本。如果你想自己尝试的话,可以使用网络资源和免费试用。

Disclaimer: I own SpreadsheetGear LLC

免责声明:我拥有SpreadsheetGear LLC公司

#3


2  

I'd say for the data volumes of 20,000 rows you're working with, a SQL server database isn't really going to gain you much except for moving to stored procedures for data manipulation. In this respect, it's arguably better than VBA, so you will probably get a code base that's more maintainable. However, the data volumes you describe are tiny by database standards. I wouldn't expect performance to be an issue until you have a one or two orders of magnitude more data than that.

我想说,对于您正在使用的20,000行的数据量,一个SQL server数据库并不能真正获得您的好处,除非是迁移到存储过程中进行数据操作。在这方面,它可能比VBA更好,因此您可能会得到一个更易于维护的代码库。但是,根据数据库标准,您描述的数据量很小。我不认为性能是一个问题,除非你有一个或两个数量级以上的数据。

If you want to do a data munging job, you might be better off with a scripting language like Perl or Python. These languages are much better for data manipulation tasks than C# or VB.Net. Good, free windows distributions of both Perl and Python can be found at www.activestate.com.

如果您想要进行数据咀嚼工作,最好使用Perl或Python等脚本语言。这些语言对于数据处理任务来说比c#或VB.Net要好得多。好的,免费的Perl和Python的windows发行版都可以在www.activestate.com找到。

Excel can be scripted with Python through the python-com interface using the same API as VBA, but gaining a much better language with a huge variety of libraies available. Similarly, this can also be done with Perl through Win32::OLE. There are also some utility libraries such as pyexcelerator, xlrd, and xlwt, for Python and Spreadsheet::WriteExcel/Spreadsheet::ParseExcel for Perl. There are also modules available for building installable windows applications such as Py2EXE or Perl Dev Kit

可以使用Python通过Python -com接口使用与VBA相同的API编写Excel,但是可以通过大量的libraies获得更好的语言。同样,这也可以通过Win32::OLE来完成。还有一些实用程序库,如pyexcelerator、xlrd和xlwt,用于Python和电子表格::WriteExcel/Spreadsheet::ParseExcel for Perl。还有一些模块可用于构建可安装的windows应用程序,如Py2EXE或Perl Dev Kit

This * posting discusses using Excel from Python, including generating a wrapper with MakePy, in a bit more depth.

这个*帖子讨论了如何使用Python中的Excel,包括用MakePy生成一个包装器。

It you're working with .Net, you could also try IronPython - it's a native .Net implementation of Python, which will run anywhere with a suitable .Net runtime installed. You can get also a free Visual Studio plugin called IronPythonStudio).

如果您正在使用。net,您也可以尝试IronPython——它是Python的一个本机。net实现,它将在安装了适当的。net运行时的任何地方运行。你也可以得到一个免费的Visual Studio插件叫IronPythonStudio)。

Another alternative is R. R is primarily a statistical package, but the core language has strong data manipulation capabilities and a variety of interface libraries (and others such as graphics, various statistical computations and an Excel interface.. It's actually quite a powerful general purpose data manipulation and reporting tool.

另一种选择是R. R主要是一个统计软件包,但是核心语言具有强大的数据处理能力和各种接口库(以及其他的如图形、各种统计计算和Excel接口)。它实际上是一个非常强大的通用数据操作和报告工具。

#4


1  

The Apache POI library may be of use to you. It's java based and can work on excel files.

Apache POI库可能对您有用。它是基于java的,可以处理excel文件。

Another choice may be to use a direct ODBC driver to work on the XLS file. Might be a lot of records though..

另一种选择可能是使用直接ODBC驱动程序来处理XLS文件。可能有很多记录。

http://poi.apache.org/

http://poi.apache.org/

The POI project consists of APIs for manipulating various file formats based upon Microsoft's OLE 2 Compound Document format, and Office OpenXML format, using pure Java. In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. POI is your Java Excel solution (for Excel 97-2007). However, we have a complete API for porting other OLE 2 Compound Document formats and welcome others to participate.

POI项目由api组成,用于操作基于Microsoft的OLE 2复合文档格式的各种文件格式,以及使用纯Java的Office OpenXML格式。简而言之,您可以使用Java读写MS Excel文件。此外,您还可以使用Java读写MS Word和MS PowerPoint文件。POI是您的Java Excel解决方案(适用于Excel 97-2007)。但是,我们有一个完整的API来移植其他的OLE 2复合文档格式,并欢迎其他人加入。

OLE 2 Compound Document Format based files include most Microsoft Office files such as XLS and DOC as well as MFC serialization API based file formats.

基于OLE 2复合文档格式的文件包括大多数Microsoft Office文件,如XLS和DOC,以及基于MFC序列化API的文件格式。

Office OpenXML Format based files include the new (2007+) xml based file formats, including Microsoft office files such as XLSX, DOCX and PPTX.

基于Office OpenXML格式的文件包括新的(2007+)基于xml的文件格式,包括Microsoft Office文件,如XLSX、DOCX和PPTX。

Edit: Check out a tool like Monarch Pro, it is superb at data mining, etc.

编辑:查看一个工具,如Monarch Pro,它在数据挖掘等方面是极好的。

#5


1  

SpreadsheetGear totally rocks! You get the best of both worlds, where all the logic in spreadsheet is available for you to execute from your code. You can really shorten your development, as you can have the business units help shape the logic for their business processes.

SpreadsheetGear完全岩石!您可以充分利用这两种情况,电子表格中的所有逻辑都可以从代码中执行。您可以真正缩短开发,因为您可以让业务单元帮助为其业务流程塑造逻辑。

#6


0  

I would consider a system that used SQL Server Compact to start with. You can use it with no install if you wish to (though I suggest you do, it's much easier to just assume the requisite dll is in the GAC). If subsequently you find you need more functionality (say stored procedures or TEXT/BLOB columns, that sort of thing) then moving to SQL Server will be trivial.

我将考虑使用SQL Server Compact作为开始的系统。如果您愿意(尽管我建议您这样做,只是假定在GAC中有必要的dll),您可以使用它而不需要安装。如果随后您发现需要更多的功能(比如存储过程或文本/BLOB列之类的),那么迁移到SQL Server将变得非常简单。

If your database is regenerated every time then trying different things out is a simple as pointing to a different file.

如果每次都重新生成数据库,那么尝试不同的东西是很简单的,比如指向不同的文件。

If you have considerable code in VBA I would suggest first moving it to VB.Net (making this, first and most error prone transition easier) then migrating that to c# if that is your desire.

如果您在VBA中有大量代码,我建议您首先将其移到VB中。Net(使这个,首先也是最容易出错的转换更容易)然后迁移到c#。

As to generating/altering the excel sheet you have three options.

对于生成/修改excel表,您有三个选项。

One is to use VSTO though Wikipedia is a much better description. This will be closest to your old VBA development though it has a whole different set of complexities.

一个是使用VSTO,尽管Wikipedia是一个更好的描述。这将最接近您的旧VBA开发,尽管它具有完全不同的复杂性。

Another is to use one of the excel output libraries, there are a few plus many more commercial ones. I couldn't recommend any personally though other's here have.

另一个是使用excel输出库中的一个,还有一些更商业化的。我个人不推荐任何人,尽管这里的其他人有。

The last is just dump out csv and let excel deal with it when you open it.

最后是转储csv,让excel在打开时处理。

#7


0  

It sounds to me that Access isn't helping you as an intermediary. 20K rows doesn't sound like much to me. You said you go from Excel to Access and then back to Excel. Do you need to keep the Access data around?

在我看来,访问并不能帮助你作为一个中介。20K行对我来说不算什么。你说你从Excel转到Access然后再回到Excel。是否需要保留访问数据?

If not, I'd suggest going with .Net and a third-party Excel library like FlexCel and go straight from Excel to Excel in memory. Packaging .Net applications is easy with either an installer or ClickOnce.

如果没有的话,我建议使用。net和FlexCel这样的第三方Excel库,直接从Excel到Excel。打包。net应用程序可以轻松地使用安装程序或ClickOnce。

#8


-2  

I wonder if you've outgrown Access. This is what more robust databases, like SQL Server, are born for. 20,000 rows isn't a large number for SQL Server, but I'll bet it's getting there for Access. How much disk space is Access taking up when you run it? How fast is the data growing, if at all?

我想知道你是否已经长大了。这就是更健壮的数据库(如SQL Server)天生的用途。对于SQL Server来说,20,000行并不是一个很大的数字,但我敢打赌,它是为了访问而到达那里的。当您运行它时,访问占用了多少磁盘空间?数据增长有多快?

How well do you know C# versus VB? If you don't know C# well, it could be a good opportunity to learn. It's a problem that you already know well.

你对c#和VB了解多少?如果你不了解c#,这可能是一个很好的学习机会。这是一个你已经很了解的问题。