我正在尝试在上传时清除 Excel (.xlsx) 文件中的一些数据(本例中为“电话号码”)。我有以下代码来打开文件:
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
try
{
string filePath = ("confirm//") + FileUpload1.FileName;
FileUpload1.SaveAs(Server.MapPath(filePath));
Microsoft.Office.Interop.Excel.Application xl =
new Microsoft.Office.Interop.Excel.Application();
Workbook wb =
xl.Application.Workbooks.Open(Server.MapPath(filePath));
wb.Activate();
string csvPath = (filePath.Replace(".xlsx", ".csv"));
wb.SaveAs(Server.MapPath(csvPath),
Microsoft.Office.Interop.Excel.XlFileFormat.xlCSV);
wb.Close();
// call method to parse csv
ReadRec(csvPath);
}
catch (Exception ex)
{//}
else
{//}
}
然后像这样在数字的开头添加一个零(如果还没有的话):
private void ReadRec(string csvName)
{
StreamReader Sr = new StreamReader(Server.MapPath(csvName));
string s;
while (!Sr.EndOfStream)
{
s = Sr.ReadLine();
string company = s.Split(',')[0];
string phone = s.Split(',')[1];
string NAME = s.Split(',')[2];
if (!phone.StartsWith("0"))
{
phone = "0" + phone;
}
}
Sr.Close();
}
这似乎运作良好,但我无法弄清楚如何将更新的数字重新插入电子表格(或使用更新的数据创建一个新的 Excel 文件)。
谁能给我一些指示?