アップロード時に 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 ファイルを作成する方法) です。
誰かが私にいくつかの指針を与えることができますか?