1
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/ProcessedFiles/" + fileName));

サーバーに保存するために FileUpload1 から取得しているファイルは .xls ファイルです (Excel 97-2003)

私が望むのは、サーバーに .xlsx 拡張子 (Excel 2007 以降) を付けて保存することです。

4

3 に答える 3

2

使用するPath.ChangeExtension

string path = "C:\\SomePath\\Somefile.xls";
string newPath = Path.ChangeExtension(path, ".xlsx");

あなたの場合、おそらく次のようなものです(テストされていません):

string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
fileName = Server.MapPath(Path.Combine("~/ProcessedFiles/", fileName));
FileUpload1.PostedFile.SaveAs(Path.ChangeExtension(fileName, ".xlsx"));
于 2013-03-06T13:34:44.747 に答える
0

代わりにPath.GetFileNameWithoutExtensionメソッドを使用する必要がありますPath.GetFileName

string fileName = Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName) + "xlsx";
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/ProcessedFiles/" + fileName));
于 2013-03-06T13:35:57.133 に答える
0

Path.GetFileNameWithoutExtension(String path)元の拡張子なしでファイル名を取得し、次のように を使用して新しい拡張子を追加できます。

String filename = Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName) + ".xlsx";
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/ProcessedFiles/" + filename));

ChangeExtension()@Mattが示唆しているように、考え直して、私は完全に忘れていました。彼のコードを使用する必要があります。

于 2013-03-06T13:31:26.640 に答える