powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не выполняется рассылка
6 сообщений из 6, страница 1 из 1
Не выполняется рассылка
    #39115420
fury_fury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, форумчане
Прошу помочь в следующем. По примерам и помощи на форуме была написана программа, которая отвечает за регулярную рассылку файла ексель по почте. При этому рассылка должна выполняться если отчет в екселе после обновления связей получил хоть одну строку с данными

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
class Program
    {
        static string attfile = @"C:\Excel_temp\ext\null.xlsx";
        static Excel.Application excelApp = new Excel.Application();
        static Excel.Workbook excelBook;
        static int rowcount;
        static string prewmonth;
 
        static void Main()
        {
            exceling();
            if (rowcount > 1)
            {
                mailing();
            }
        }
 
        public static int LastRowCell()
        {
            int lastrow = excelApp.Sheets[1].Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row;
            for (int i = lastrow; i >= 1; i--)
            {
                if (excelApp.Cells[i, 2].Value != null)  // 2 - вторая по счету колонка
                {
                    rowcount = i;
                    break;
                }
            }
 
            return rowcount;
        }
 
        static void exceling()
        {
            excelApp.Visible = false;
            excelBook = excelApp.Workbooks.Open(attfile);
 
            foreach (Excel.WorkbookConnection cnn in excelBook.Connections)
            {
                cnn.OLEDBConnection.BackgroundQuery = false;
            }
 
            excelBook.RefreshAll();
            LastRowCell();
            excelBook.Save();
            excelBook.Close(0);
            excelApp.Quit();
 
        }
 
        static void mailing()
        {
            prewmonth = DateTime.Now.AddMonths(-1).ToString("MMMM");
            SmtpClient smtp = new SmtpClient();
            MailMessage message = new MailMessage();
            smtp.EnableSsl = true;
            smtp.Host = "smtp.mail.ru";
            smtp.Port = 587;
            Attachment file = new Attachment(attfile);
            message.Attachments.Add(file);
            try
            {
                smtp.Send(message);
            }
            catch (SmtpException)
            {
 
            }
        }
    }



Рассылка не выполняется регулярно.
Подскажите пожалуйста, метод LastRowCell правильно запускается в коде? Смущает что нет самого запуска метода, только используется значение переменной, которую возвращает метод. И второй вопрос, в этом методе не указано, что подсчет количества строк производится в файле, путь к которому указан в переменной attfile. Как указать чтобы подсчитывались строки именно в этом файле?
...
Рейтинг: 0 / 0
Не выполняется рассылка
    #39115455
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По теме не подскажу. Могу посоветовать писать логи. А дальше в них смотришь что-когда происходило сравниваешь с тем что по твоему должно произойти и делаешь выводы что пошло не так.
...
Рейтинг: 0 / 0
Не выполняется рассылка
    #39115465
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
до процедуры mailing дело вообще доходит или нет?
...
Рейтинг: 0 / 0
Не выполняется рассылка
    #39115544
fury_fury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyдо процедуры mailing дело вообще доходит или нет?
не доходит
когда указываю так, то отправка выполняется:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 static void Main()
        {
            exceling();
            if (1==1) // (rowcount > 1)
            {
                mailing();
            }
        }
...
Рейтинг: 0 / 0
Не выполняется рассылка
    #39115548
fury_fury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понятно, как методу LastRowCell передать, что нужно считать строки в фале по пути в переменной attfile
...
Рейтинг: 0 / 0
Не выполняется рассылка
    #39115784
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
excelApp.Sheets[1].Cells
...
excelApp.Cells

как это вообще с ошибкой не вылетает?

Код: c#
1.
excelBook.Sheets[1].Cells
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не выполняется рассылка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]