gpt4 book ai didi

c# - 如何使用 ASP.Net 将 Mysql 表值导出到现有的 Excel 工作表模板

转载 作者:行者123 更新时间:2023-11-30 23:02:07 24 4
gpt4 key购买 nike

我需要将 Mysql 表值导出到现有的 Excel 工作表模板。而且我需要在不干扰现有模板的情况下以不同的名称保存该现有文件。我已经创建了一个 Excel 工作表并将其放在我的本地磁盘上。我已经完成了以下代码,但这里有一个问题。每次我需要保持 excel 工作表打开以从 Mysql 中填充表值时。但我不想继续打开我现有的 Excel 工作表。而且我无法执行以不同名称保存该模板的代码。谁能帮忙?

using MySql.Data.MySqlClient;
using System.Data;
using Excel=Microsoft.Office.Interop.Excel;
using System.IO;
using System.Reflection;
using System.Data.OleDb;

namespace export_db_to_existing_excel
{
public partial class db_to_existing_excel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void btn_export_Click(object sender, EventArgs e)
{
string connectionstr = "Server=localhost;userid=root;password=password;database=sample";

MySqlConnection conn = new MySqlConnection(connectionstr);
MySqlCommand cmd= new MySqlCommand("select * from employee", conn);
MySqlDataAdapter mysqda = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable();
mysqda.Fill(dt);

Excel.Application xlapp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Applicatio n");
Excel.Workbook xlworkbook = (Excel.Workbook)xlapp.ActiveWorkbook;
Excel.Worksheet xlworksheet = (Excel.Worksheet)xlworkbook.ActiveSheet;
Excel.Range chartRange = xlworksheet.UsedRange;

for(int i=0;i<dt.Rows.Count;i++)
{
for(int j=0;j<dt.Columns.Count;j++)
{
xlworksheet.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString();
}
}


}
}
}

最佳答案

如果您使用 Native Office Excel 类,您将面临这些问题。

我们面临的问题之一是,MS Office 需要安装在生产环境中,这确实是一个糟糕的选择。

所以我们最终得到了 OpenXml 库。我玩过 Documents 而不是 excel,但我相信您可以轻松做到。

开始的一些链接 Export DataTable to Excel with Open Xml SDK in c#

http://www.codeproject.com/Articles/692092/A-free-Export-to-Excel-Csharp-class-using-OpenXML

关于c# - 如何使用 ASP.Net 将 Mysql 表值导出到现有的 Excel 工作表模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23532922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com