-1

我正在尝试找到一种用 c# 编写 excel 文件的简单方法,但是我找到的所有内容都感谢您的帮助。

4

4 回答 4

1

您有两种选择

第一个是使用互操作程序集,这里是一些示例代码的链接,关于如何使用 C# 将数据写入 Excel

第二种选择是使用 OLEDB。这里有一些关于 Stack Overflow 的信息

于 2013-07-15T23:32:52.250 回答
1

如上所述使用epplus,它使它变得非常简单。这是我今天用它创建的电子表格的代码。

            using (ExcelPackage pck = new ExcelPackage())
        {
            //Give the worksheet a name
            ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Inventory as of " + DateTime.Now.ToString("MM/dd/yyyy"));
            //dt is a datable that i am turning into an excel document
            ws.Cells["A1"].LoadFromDataTable(dt, true);
            //Format the header columns(Color,Pattern,etc.)
            using (ExcelRange rng = ws.Cells["A1:AA1"])
            {
                rng.Style.Font.Bold = true;
                rng.Style.Fill.PatternType = ExcelFillStyle.Solid;             //Set Pattern for the background to Solid
                rng.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(79, 129, 189));  //Set color to dark blue
                rng.Style.Font.Color.SetColor(Color.White);
            }
            //End Format the header columns
            //Give the file details(ie. filename, etc.)
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;filename=Inventory Report " + DateTime.Now.ToString("MM/dd/yyyy") + ".xlsx");
            //Write the file
            Response.BinaryWrite(pck.GetAsByteArray());
            Response.End();
            pck.Save();

        }
于 2013-07-25T21:12:39.093 回答
0

您需要的是epplus,这将帮助您创建 2007+ excel 文件

与 2003 及以下不兼容

于 2013-07-15T23:21:47.087 回答
0

根据您要编写的 excel 文件的版本,没有真正简单的方法。如果您想使用 xls,那么除了使用 Excel 互操作之外,您将没有太多选择,而 Excel 互操作也需要安装 Excel。
较新的版本提供了更多选项,因为它只是后台的 XML。您可以自己选择如何创建它,您可以自己选择,也可以选择一些库或再次使用 Interop。
如果您只想显示没有任何样式的表格,有(公平)一种编写 csv 文件的方法,excel 可以很好地打开它(取决于您要在其中使用的数据类型)。

于 2013-07-15T23:23:13.973 回答