Я создаю отчет excel и html-отчет в asp.net, когда я нажимаю кнопку и мое приложение создаю ее и сохраняю на рабочем столе клиента, но это не правильно работает, потому что файл excel создается на рабочем столе сервера. Как я могу это исправить?Как сохранить созданный файл excel на клиентский ПК в ASP.NET
Благодарим вас за ответ.
string CurrentDate;
DateTime saveNow = DateTime.Now;
CurrentDate = saveNow.Date.ToShortDateString();
string reportContent = prepareHTM();
string pathFile = Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory) + "\\As_Build_Report_ "+ CurrentDate + ".html";
using (StreamWriter outfile = new StreamWriter(pathFile, true))
{
outfile.WriteLine(reportContent);
}
System.Diagnostics.Process.Start(pathFile);
object missing = System.Reflection.Missing.Value;
//Start Excel Application.
Excel.Application oXL = new Excel.Application();
oXL.Visible = true; //display Application .
Excel._Workbook oWB = (Excel._Workbook)(oXL.Workbooks.Add(missing));//create a new workbook.
Excel._Worksheet oSheet = (Excel._Worksheet)oWB.ActiveSheet; //create a sheet
string CurrentDate;
DateTime saveNow = DateTime.Now;
CurrentDate = saveNow.Date.ToString();
int keep = 5;
string project = list[0].Project;
oSheet.Cells[1, 3] = "MiKES Configuration Management __" + project + "__ As-Built Report";
oSheet.Cells[3, 1] = "Report Date :";
oSheet.Cells[3, 2] = CurrentDate;
oSheet.Cells[keep, 1] = "PART NO";
oSheet.Cells[keep, 2] = "REF.DES.";
oSheet.Cells[keep, 3] = "DESCRIPTION";
oSheet.Cells[keep, 4] = "SERIAL NO";
oSheet.Cells[keep, 5] = "C/S";
oSheet.Cells[keep, 6] = "D/C";
oSheet.Cells[keep, 7] = "REMARK";
keep++;
foreach(Classes.CMNewPart item in list)
{
try
{
oSheet.Cells[keep, 1] = item.PartNo;
oSheet.Cells[keep, 2] = item.RefDes;
oSheet.Cells[keep, 3] = item.Description1;
oSheet.Cells[keep, 4] = item.SerialNo;
oSheet.Cells[keep, 5] = item.Cs;
oSheet.Cells[keep, 6] = item.Dc;
oSheet.Cells[keep, 7] = item.Remark;
}
catch (Exception)
{
}
keep++;
}
Как в стороне, если вы используете это с сервера, вам действительно нужно использовать OpenXML SDK (или какое-то другое решение) для генерации ваших файлов вместо interop. И почему вы делаете Excel видимым? – Mathias