如何将我创建的文件保存到路径中
How can i save a file that i create into a path
我正在开发一个学校项目,我需要将 html table 导出到一个 csv 文件中,当我单击一个按钮时,我需要将该文件保存到如下路径C:\csvfolder
在服务器机器上使用 asp net c#,
我用来绘制 table 和编写 table 的代码如下:
using (StreamWriter file = new StreamWriter("tabela.csv"))
{
using(var csvwriter = new CsvWriter(file,CultureInfo.InvariantCulture))
{
<table class="table table-bordered table-striped" style="width:95%" >
<thead>
<tr>
<th width:"30%">
Ap_Name
@{
file.Write("ApName");
file.Write(";");
}
</th>
@{var u = Model.Inicial;
var ultimoap = 0;
}
@while( u<=Model.Final)
{
<th>
@u.ToString("MM/yyyy")
</th>
file.Write(u.ToString("MM/yyyy"));
file.Write(";");
u =u.AddMonths(1);
}
</tr>
</thead>
<tbody>
@for(int y = 0; y<Model.Aps.Count; y++)
{
file.WriteLine();
var dadosap = Model.dados2.Where(s => s.ap_id == Model.Aps[y].ap_id).ToList();
<tr></tr>
<td style="width:30%">
@Model.Aps[y].ap_name
</td>
file.Write(Model.Aps[y].ap_name);
file.Write(";");
u = Model.Inicial;
while( u.Date<=Model.Final.Date)
{
var NumAcesso = 0;
for(int i = 0; i<dadosap.Count(); i++)
{
if(dadosap[i].MES == u.Month && dadosap[i].year == u.Year)
{
NumAcesso = dadosap[i].numeroAcessos;
}
else
{
NumAcesso =NumAcesso;
}
}
<th>
@NumAcesso
</th>
file.Write(NumAcesso);
file.Write(";");
u = u.AddMonths(1);
}
}
</tbody>
</table>
}
}
当我点击按钮时,我正在考虑一种将文件保存在路径中的方法
<button class="btn btn-primary" id="ExportToExcel" OnClick="ExportToexcel_Click" value="Export To Excel" ></button>
编辑:我在想,我知道我在想错误的方式。
现在我意识到我真正想要的是,我将文件保存在项目文件夹中,我希望当我单击一个按钮时我想将该文件下载到客户端 machine.How 我可以这样做吗?
经过一番搜索,我发现存在一个方法 FileResult
,returns 一个文件,就这样我解决了我的问题。
[HttpPost]
public FileResult PessoasCOunt(dadosPassar dp)
{
StringBuilder sb = new StringBuilder();
string filename = dp.AcessoVisita + dp.Inicial.ToString() + "_" + dp.Final.ToString() + ".csv";
return File(System.Text.Encoding.Unicode.GetBytes(sb.ToString()), "text/csv", filename);
}
使用它我可以毫无问题地解决我的问题。
我正在开发一个学校项目,我需要将 html table 导出到一个 csv 文件中,当我单击一个按钮时,我需要将该文件保存到如下路径C:\csvfolder
在服务器机器上使用 asp net c#,
我用来绘制 table 和编写 table 的代码如下:
using (StreamWriter file = new StreamWriter("tabela.csv"))
{
using(var csvwriter = new CsvWriter(file,CultureInfo.InvariantCulture))
{
<table class="table table-bordered table-striped" style="width:95%" >
<thead>
<tr>
<th width:"30%">
Ap_Name
@{
file.Write("ApName");
file.Write(";");
}
</th>
@{var u = Model.Inicial;
var ultimoap = 0;
}
@while( u<=Model.Final)
{
<th>
@u.ToString("MM/yyyy")
</th>
file.Write(u.ToString("MM/yyyy"));
file.Write(";");
u =u.AddMonths(1);
}
</tr>
</thead>
<tbody>
@for(int y = 0; y<Model.Aps.Count; y++)
{
file.WriteLine();
var dadosap = Model.dados2.Where(s => s.ap_id == Model.Aps[y].ap_id).ToList();
<tr></tr>
<td style="width:30%">
@Model.Aps[y].ap_name
</td>
file.Write(Model.Aps[y].ap_name);
file.Write(";");
u = Model.Inicial;
while( u.Date<=Model.Final.Date)
{
var NumAcesso = 0;
for(int i = 0; i<dadosap.Count(); i++)
{
if(dadosap[i].MES == u.Month && dadosap[i].year == u.Year)
{
NumAcesso = dadosap[i].numeroAcessos;
}
else
{
NumAcesso =NumAcesso;
}
}
<th>
@NumAcesso
</th>
file.Write(NumAcesso);
file.Write(";");
u = u.AddMonths(1);
}
}
</tbody>
</table>
}
}
当我点击按钮时,我正在考虑一种将文件保存在路径中的方法
<button class="btn btn-primary" id="ExportToExcel" OnClick="ExportToexcel_Click" value="Export To Excel" ></button>
编辑:我在想,我知道我在想错误的方式。 现在我意识到我真正想要的是,我将文件保存在项目文件夹中,我希望当我单击一个按钮时我想将该文件下载到客户端 machine.How 我可以这样做吗?
经过一番搜索,我发现存在一个方法 FileResult
,returns 一个文件,就这样我解决了我的问题。
[HttpPost]
public FileResult PessoasCOunt(dadosPassar dp)
{
StringBuilder sb = new StringBuilder();
string filename = dp.AcessoVisita + dp.Inicial.ToString() + "_" + dp.Final.ToString() + ".csv";
return File(System.Text.Encoding.Unicode.GetBytes(sb.ToString()), "text/csv", filename);
}
使用它我可以毫无问题地解决我的问题。