Я пытался отправить файл excel, но получаю ошибку
Процесс не может получить доступ к файлу 'C:\Users\God\Desktop\DataDump\1Excel.xls-потому что его использует другой процесс.
int count = 0; string connectionstring = "Server=(local);initial catalog=Test;Trusted_Connection=True"; SqlConnection sqlConnection = new SqlConnection(connectionstring); SqlCommand cmd = new SqlCommand(); SqlDataReader reader; DataSet ds = new DataSet(); cmd.CommandText = "select * from Empdetails"; cmd.CommandText += " where shifttype = @par "; cmd.Parameters.Add("@par", SqlDbType.Int).Value = j; cmd.CommandType = CommandType.Text; cmd.Connection = sqlConnection; sqlConnection.Open(); reader = cmd.ExecuteReader(); if (reader.HasRows) { System.IO.StreamWriter sw_In = new System.IO.StreamWriter(@"C:\Users\God\Desktop\DataDump\" + j + "Excel.xls"); while (reader.Read()) { if (count == 0) { for (int i = 0; i < reader.FieldCount; i++) { sw_In.AutoFlush = true; sw_In.Write(reader.GetName(i) + "\t"); } sw_In.Write("\n"); count = 1; } for (int i = 0; i < reader.FieldCount; i++) { sw_In.AutoFlush = true; sw_In.Write(reader[i].ToString() + "\t"); } MailMessage mis = new MailMessage(); SmtpClient smtpserver = new SmtpClient("smtp.gmail.com"); smtpserver.Credentials = new System.Net.NetworkCredential("narasiman1986@gmail.com", "narasiman123"); smtpserver.Host = "smtp.gmail.com"; smtpserver.Port = 587; smtpserver.EnableSsl = true; mis.From = new MailAddress("narasiman1986@gmail.com", "Report"); mis.IsBodyHtml = true; System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail.Attachment(@"C:\Users\God\Desktop\DataDump\" + j + "Excel.xls"); mis.Attachments.Add(attachment); mis.To.Add("narasiman1986@gmail.com"); mis.CC.Add(new MailAddress("narasiman1986@gmail.com")); mis.Subject = "Data Dump Report"; smtpserver.Send(mis); sw_In.Write("\n"); } } sqlConnection.Close(); reader.Close(); when i run the above code shows error as follows The process cannot access the file 'C:\Users\God\Desktop\DataDump\1Excel.xls' because it is being used by another process. the error shows in below line as follows System.Net.Mail.Attachment(@"C:\Users\God\Desktop\DataDump\" + j + "Excel.xls"); i am sending the excel file to mail. What I have tried: i am sending excel file to mail. but i am getting error as follows The process cannot access the file 'C:\Users\God\Desktop\DataDump\1Excel.xls' because it is being used by another process.
Richard MacCutchan
Вы не можете отправить вложение электронной почты, полученное из файла, который не был создан должным образом. И ты такой все еще не создавать файлы Excel. Вы должны изменить расширение на .txt, так как именно этот тип файла вы создаете.