Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141

Нет вывода в Excel

28.06.2023, 11:06. Показов 1249. Ответов 26

Студворк — интернет-сервис помощи студентам
Добрый день, дамы и господа, нуждаюсь в Вашей помощи, вот кусочек скрипты по которому должно при нажатии кнопки выводить данные в ексель файл на данный момент выводит НИЧЕГО
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
71
72
73
74
75
76
77
78
79
80
81
 private void button1_Click(object sender, EventArgs e)
        {
            foreach (object itemChecked in checkedListBox1.CheckedItems)
            {
                DataRowView castedItem = itemChecked as DataRowView;
                mash = mash + castedItem["snlist"] + "', '";
            }
 
            if (mash == "('")
            {
                MessageBox.Show("Вы ничего не выбрали!");
            }
            else
            {
                mash = mash.Substring(0, mash.Length - 3) + ")";
 
                //Вызов Экселя//
                string Path = System.Windows.Forms.Application.StartupPath + "\\Data\\";
                IWorkbook book = NativeExcel.Factory.OpenWorkbook(Path + "Avk.xls");
                Path = @"\\Docx\report\";
                string file_name = Path + DateTime.Now.ToFileTime().ToString() + "Avk.xls";
 
                book.SaveAs(file_name);
                book = NativeExcel.Factory.OpenWorkbook(file_name);
                IWorksheet MySheet = book.ActiveSheet;
                IRange range = MySheet.Range[1, 1, 1, 1];
                range.Rows.RowHeight = 1;
 
                MySheet.Cells[1, 1].Value = "Справка ";
 
                int i = 8;
 
                string connectionString = "Data Source=test;Initial Catalog=test;Persist Security Info=True;User ID=ro; Password = pass";
 
                SqlConnection MyConnection = new SqlConnection(connectionString);
 
                SqlCommand MySelectCommand = new SqlCommand();
 
 
 
                MySelectCommand.CommandText = @"select jh.NormTimePerUnit*jt.qtycompletedelta as Norm, jt.WCID, snlist + '(' + buhordercode + ')' as sn, reason, 
(CASE WHEN p.WrkID=3569 THEN 0.85 WHEN p.WrkID=3666 THEN 0.8 WHEN p.WrkID=3681 THEN 0.75 WHEN p.WrkID=3577 THEN 0.75 ELSE 1.0 END) as cor
into #jobtranhours
from job j, jobtranoper jt, jobtranhours jh, pots p  
where jh.jobtranoperid = jt.id and Jt.Job=J.Job AND Jt.Suffix=J.Suffix and stampotk = 1 and p.id = jh.potid
and  (j.snlist + ':' + j.buhordercode) in ('046:820', '048:820') and j.jobstatus <> 's' and j.enddate >= '2023-01-30' and j.enddate <= '2023-07-31'";
                MySelectCommand.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
                MySelectCommand.Parameters["@MyDateParam1"].Value = dateTimePicker2.Value;
                MySelectCommand.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
                MySelectCommand.Parameters["@MyDateParam2"].Value = dateTimePicker1.Value;
                int j = 11;
                MySelectCommand.Connection = MyConnection;
                MySelectCommand.CommandTimeout = 0;
                System.Data.DataTable MyConnteyner = new System.Data.DataTable();
                SqlDataAdapter MyAdapter = new SqlDataAdapter(MySelectCommand);
                MyAdapter.Fill(MyConnteyner);
                if (MyConnteyner.Rows.Count > 0)
                {
                    string stroka = "";
                    int k = 2;
 
                    foreach (DataRow MyRow in MyConnteyner.Rows)
                    {
                        MySheet.Cells[i, 1].Value = MyRow["sn"];
                        MySheet.Cells[i, 2].Value = MyRow["reason"];
                        MySheet.Cells[i, 3].Value = MyRow["cor"];
                        MySheet.Cells[i, 4].Value = MyRow["buhordercode"];
                      
 
                        range = MySheet.Range[i, 1, i, 4];
                        range.Borders[XlBordersIndex.xlAround].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                        range.Borders[XlBordersIndex.xlInsideAll].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                        i++;
                    }
                }
 
                book.SaveAs(file_name);
                System.Diagnostics.Process.Start(file_name);
                Close();
            }
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2023, 11:06
Ответы с готовыми решениями:

Нет данных для вывода на печать - Excel взбунтовался :)
Прилагаю xls 1-й лист печатается нормально. При печати любого из 2,3,4 листов выводит сообщение &quot;Нет данных для вывода на...

Как при открытии Excel проверить нет ли уже открытых окон с Excel?
Посоветуйте пожалуйста, как при открытии Excel проверить нет ли уже открытых окон с Excel и если есть , то тогда добавить новый лист в уже...

Работа с Excel (нет доступа к пространству имен Excel)
Здравствуйте! У меня проблема в том, что я делаю все так как там, но выдает ошибку в строчках на слова Excel, например: ...

26
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18344 / 14270 / 5370
Регистрация: 17.03.2014
Сообщений: 28,941
Записей в блоге: 1
29.06.2023, 09:37
Студворк — интернет-сервис помощи студентам
Kaktuc, мне отсюда не видно что вы вводите в dateTimePicker1, dateTimePicker2 и что вы вводили вручную.
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
29.06.2023, 09:48  [ТС]
с одной селекой разобрался
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
29.06.2023, 09:56  [ТС]
Фото 1, где вывод работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 MySelectCommand.CommandText = @"select distinct snlist, buhordercode, (select description from buhorder where id = buhordercode) as buhordercdesc
from job
where enddate >= '2023-01-30' and  enddate <= '2023-07-31'
and snlist is not null
and snlist <> ''
and buhordercode is not null
and buhordercode not in ('2507', '2516', '2518', '3500', '929', '930', '950', '950-80', '960', '970', '2505', '2509', '2517', '2607', '2901', '332', '3400', '91', '920')
order by buhordercode, snlist
";
            MySelectCommand.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
            MySelectCommand.Parameters["@MyDateParam1"].Value = dateTimePicker1.Value;
            MySelectCommand.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
            MySelectCommand.Parameters["@MyDateParam2"].Value = dateTimePicker2.Value;
            MySelectCommand.Connection = MyConnection;
            System.Data.DataTable MyConnteyner = new System.Data.DataTable();
            SqlDataAdapter MyAdapter = new SqlDataAdapter(MySelectCommand);
            MyAdapter.Fill(MyConnteyner);
                  
            checkedListBox1.DataSource = MyConnteyner;
            checkedListBox1.DisplayMember = "buhordercdesc";
            checkedListBox1.ValueMember = "snlist";
Фото 2, где в коде указано что переменные
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
 //заполнение чек-бокса машинами//
            MySelectCommand.CommandText = @"select distinct snlist, buhordercode, (select description from buhorder where id = buhordercode) as buhordercdesc
from job
where enddate >= @MyDateParam1 and  enddate <= @MyDateParam2
and snlist is not null
and snlist <> ''
and buhordercode is not null
and buhordercode not in ('2507', '2516', '2518', '3500', '929', '930', '950', '950-80', '960', '970', '2505', '2509', '2517', '2607', '2901', '332', '3400', '91', '920')
order by buhordercode, snlist
";
            MySelectCommand.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
            MySelectCommand.Parameters["@MyDateParam1"].Value = dateTimePicker1.Value;
            MySelectCommand.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
            MySelectCommand.Parameters["@MyDateParam2"].Value = dateTimePicker2.Value;
            MySelectCommand.Connection = MyConnection;
            System.Data.DataTable MyConnteyner = new System.Data.DataTable();
            SqlDataAdapter MyAdapter = new SqlDataAdapter(MySelectCommand);
            MyAdapter.Fill(MyConnteyner);
                  
            checkedListBox1.DataSource = MyConnteyner;
            checkedListBox1.DisplayMember = "buhordercdesc";
            checkedListBox1.ValueMember = "snlist";
      
        }
Миниатюры
Нет вывода в Excel   Нет вывода в Excel  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18344 / 14270 / 5370
Регистрация: 17.03.2014
Сообщений: 28,941
Записей в блоге: 1
29.06.2023, 10:03
Kaktuc, в коде даты enddate >= '2023-01-30' and enddate <= '2023-07-31', а в обоих dateTimePicker 29 июня 2023. Вас это не смущает?
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
29.06.2023, 10:59  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Kaktuc, в коде даты enddate >= '2023-01-30' and enddate <= '2023-07-31', а в обоих dateTimePicker 29 июня 2023. Вас это не смущает?
и? в диапазон то попадает?

Добавлено через 1 минуту
суть в другом то в
C#
1
 enddate >= '2023-01-30' and enddate <= '2023-07-31'
даже если и даты 29 то список выпадает в четбоксе а когда я ставлю переменные то списка нет

Добавлено через 53 минуты
разобрался
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18344 / 14270 / 5370
Регистрация: 17.03.2014
Сообщений: 28,941
Записей в блоге: 1
29.06.2023, 12:29
Цитата Сообщение от Kaktuc Посмотреть сообщение
и? в диапазон то попадает?
И вы получите запрос вида enddate >= '2023-06-29 12:28:05' and enddate <= '2023-06-29 12:28:05' который вернет 0 записей.

Цитата Сообщение от Kaktuc Посмотреть сообщение
разобрался
Надеюсь что да.
0
 Аватар для Andrey-MSK
3372 / 2258 / 388
Регистрация: 14.08.2018
Сообщений: 7,652
Записей в блоге: 4
29.06.2023, 12:40
Цитата Сообщение от Kaktuc Посмотреть сообщение
C#
1
MySelectCommand.Parameters["@MyDateParam1"].Value = dateTimePicker1.Value;
C#
1
MySelectCommand.Parameters["@MyDateParam1"].Value = dateTimePicker1.Value.Date;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.06.2023, 12:40

нет вывода
void check_all_dolsnikov() { std::string logs; ReadFromFile.open(&quot;logs.txt&quot;); while (getline(ReadFromFile, logs)) ...

Нет вывода ошибки
Пытаюсь добавить запись, и специально допускаю ошибки,но не одна ошибка не выводится, просто переход на пустую страницу. &lt;?php ...

Нет вывода в консоль
Доброго времени суток! В середине дня столкнулась со следующей проблемой. При сборке программы в Visual Studio 2008 все прекрасно и без...

Нет вывода в DBEdit6
var t,y,u:real; ............... procedure TForm2.FormCreate(Sender: TObject); begin t:= StrToFloat(DBEdit5.Text); u:=...

Нет вывода в программе
НЕт вывода в проге на питон . Мне нужно отредактировать эту прогу https://github.com/engineer-man/youtube/tree/master/031 , но пи запуске...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru