ASP.NET MVC / C# - 如何使用 MVC 中的数据表/列表格式转换/创建 Excel (xls)?

发布于 2024-10-26 20:22:04 字数 159 浏览 4 评论 0原文

我能够按照此链接从DataTable创建Excel xls文件。但是如何格式化 XLS 文件的内容呢?

谢谢。

I was able to create Excel xls file from DataTable following this link. But how do I format the contents of the XLS file?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心凉 2024-11-02 20:22:04

我个人使用过NPOI,效果很好。

I have personally used NPOI with good results.

永言不败 2024-11-02 20:22:04

使用此技术您无法格式化内容。为此,您需要使用某些第三方控件生成真正的 Excel 二进制文件。这是值得一看的内容。您还可以查看这篇文章。

Using this technique you cannot format the contents. You will need to generate a real Excel binary file using some third party control for this purpose. Here's one worth checking out. You may also take a look at this article.

泡沫很甜 2024-11-02 20:22:04

该链接中的解决方案只是创建一个制表符分隔值文件,该文件只能包含单元格数据,而不包含格式信息。如果您需要格式化,那么您可以使用 .xls 扩展名保存 HTML 标记(我通常不推荐这种方法),或者您需要创建一个“真正的”Excel 文件...但我不知道哪个库您可以在 C# 中执行此操作(除了使用 .net 之外)

。但是,对 上一个问题

The solution in that link simply creates a tab-separated value file, which can only contain the cell data, not the formatting information. If you need the formatting then you either save HTML markup with an extension of .xls (not an approach I'd normally recommend), or you nede to create a "genuine" Excel file... but I don't know what library options you have in C# to do this (other than using .net

However, there's a number of libraries listed in the responses to this previous question

若水般的淡然安静女子 2024-11-02 20:22:04

如果您希望避免使用第 3 方库,您还有另外两种合理的选择:

就我个人而言,我是 SpreadsheetML(Excel 2003+ 支持的格式之一)的粉丝,因为从头开始手动生成一个文件相对容易。只需创建一个看起来正确的文件并保存为 SpreadsheetML 格式,然后在生成自己的文件时将其用作指南。


另一种方法是从预先格式化的“干净”Excel 文档(带有表格标题但没有数据)开始。然后,您可以使用 Jet.OLEDB 提供程序将数据行插入其中。

与使用第三方库相比,这有许多缺点:
1. 无法格式化您正在插入的数据。只允许格式化表格标题等。
2. Windows 部分版本的兼容性问题。
3. 对某些类型的数据处理不佳。

与使用第三方库相比,它有一些优点:
1.来自微软。错误更少、免费、恶意代码风险更低。
2. 使用起来非常简单,假设您已经习惯使用 SQL。

If you prefer to avoid 3rd party libraries, you have two other reasonable alternatives:

Personally I'm a fan of SpreadsheetML (one of the formats supported by Excel 2003+), since it's relatively easy to just manually generate one from scratch. Just create a file that looks right and save to SpreadsheetML format, then use that as a guideline when generating your own.


An alternative is to start with a preformated "clean" Excel document (with table headings but no data). You can then insert rows of data into it using the Jet.OLEDB provider.

This has numerous disadvantages over using a 3rd party library:
1. Cannot format the data you are inserting. Only allows formatting of the table headings etc.
2. Compatibility issues on some versions of Windows.
3. Handles some types of data poorly.

It has a few advantages over using a 3rd party library:
1. From Microsoft. Fewer bugs, free, less risk of malicious code.
2. Very simple to use, assuming you're already comfortable working with SQL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文