0

我一直试图理解这个使用 SaveFileDialog 的http://msdn.microsoft.com/en-us/library/sfezx97z.aspx,但我很难理解。我有以下代码:

FileInfo existingFile = new FileInfo("C:\\Users\\cle1394\\Desktop\\Apple Foreign Tax Payment Sample Layout Proposed - Sample Data.xlsx");

ConsoleApplication2.Program.ExcelData data = ConsoleApplication2.Program.GetExcelData(existingFile);

var json = new JavaScriptSerializer().Serialize(data);

如何将内容输出json.jsonor.txt文件?

我想让用户看到一个链接/按钮单击以将文件下载/保存到他们计算机上的某个位置,或者只是显示保存文件对话框,以便他们可以将文件保存到他们计算机上的某个位置.

编辑(让 OP 评论哪些部分不清楚):

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.ShowDialog();
if(saveFileDialog1.FileName != "")
{
   File.WriteAllText(saveFileDialog1.FileName,json);   
}
4

1 回答 1

2

你正在寻找这个,然后:

File.WriteAllText(@"c:\some\path\json.txt",json);

请注意,它将使用不带字节顺序标记的 UTF8 编码保存文件。如果需要 BOM,则需要使用File.WriteAllText(path, content, Enconding);

看这里。

更新 - 使用 SaveFileDialog 添加示例:

 if(!string.IsNullOrEmpty(saveFileDialog.FileName))
 {
     //saveFileDialog.FileName should contain the full path
     //according to the documentation: http://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.filename.aspx
     File.WriteAllText(saveFileDialog.FileName,json);

 }
于 2013-08-12T19:16:39.900 回答