我想在asp.net中打开文件,并在编辑后保存回来

本文关键字:编辑 保存 回来 文件 asp net | 更新日期: 2023-09-27 18:27:23

我可以在浏览器中打开一个excel文件吗?或者只需打开它进行一些更改,然后再次保存回来。?我有一个文件存储在我的文件系统(驱动器)中,我需要从那里读取该文件并打开它,进行一些更改并再次保存回来。我的应用程序是基于网络的,我不想让它要求我打开或保存它(就像它为正常下载提供的一样),我只想像在word或excel中打开一样打开。这样做的唯一目的是,我将这些文件集中存储在我的服务器中,用户可以访问这些文件。我只是不希望创建该文件的版本。我想控制我的编辑。据我所知,我知道这是不可能做到的,但还是有%的事实是你不知道的,你也不知道;-)

请帮我做同样的事。

我想在asp.net中打开文件,并在编辑后保存回来

假设这是一个文本文件,您可以将其读取到文本框中,进行编辑,然后覆盖旧文件。

假设您使用的是一个名为"hello.CSV"的CSV文件,您可以执行以下操作:

ASPX代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="btnRead" runat="server" Text="Read text file" 
            onclick="btnRead_Click" />
        <p><asp:TextBox ID="tb1" TextMode="MultiLine" runat="server" Height="168px" Width="624px"></asp:TextBox></p>
        <p><asp:Button ID="btnWrite" runat="server" Text="Write text file" 
                onclick="btnWrite_Click" /></p>
    </div>
    </form>
</body>
</html>

编码背后:

导入System.IO命名空间。

protected void btnRead_Click(object sender, EventArgs e)
{
    string fileText;
    using (StreamReader sr = new StreamReader(Server.MapPath("hello.csv")))
    {
        fileText = sr.ReadToEnd();
        tb1.Text = fileText;
        sr.Dispose();
    }
}
protected void btnWrite_Click(object sender, EventArgs e)
{
    StreamWriter sw = new StreamWriter(Server.MapPath("hello.csv"));
    sw.Write(tb1.Text);
    sw.Dispose();
}

根据你需要做什么,你可能需要调整方法,但这应该让你开始。