我有一个gridview的数据。我需要把一个按钮导出/导入gridview数据使用asp.net mvc excel工作表。如何实现导入/导出按钮点击从网格视图到Excel表使用asp.net mvc
任何人都可以帮助我如何做到这一点。
谢谢。
我有一个gridview的数据。我需要把一个按钮导出/导入gridview数据使用asp.net mvc excel工作表。如何实现导入/导出按钮点击从网格视图到Excel表使用asp.net mvc
任何人都可以帮助我如何做到这一点。
谢谢。
可以绕过Excel自动化和使用的OleDbConnection这样
connectionString = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;'";
...
connectionString = string.Format(connectionString, fileName);
OleDbConnection conn = new OleDbConnection(connectionString)
.............
// You can create table or insert value using SQL statement
// Create your OleDbCommand and execute it.
............
conn.Close();
如果数据要由客户端提交,则将其发布到服务器。一旦它在服务器上,创建一个StringBuilder并将数据转换为一个大字符串,在每行之后使用逗号分隔列和换行符。然后返回一个新的FileResult:
在你的控制器,在创建了StringBuilder的SB后:
MemoryStream ms = new MemoryStream();
StreamWriter writer = new StreamWriter(ms, Encoding.UTF8);
writer.Write(sb.ToString());
writer.Flush();
ms.Position = 0;
return File(ms, "application/vnd.ms-excel", "myfile.csv");
导入Excel中的数据则是另一回事。我没有那么做,所以希望别人能够提供一些见解。
要从excel导入,请照常上传文件。 然后通过参考Microsoft.Office.Interop.Excel.dll(从办公室11),可以使用excel api遍历工作表并提取数据。
我的建议是使用LocalReport来呈现结果。你只需要用你想要的布局创建一个rdlc文件(在项目中添加一个新报告)。然后你必须传递你想绑定的数据并调用Render方法(你可以返回excel和pdf)。老实说,我手边没有任何示例代码,但如果你有一点点谷歌,你一定会知道如何做到这一点。 祝你好运。