powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выгрузка в Excel через ADO
13 сообщений из 13, страница 1 из 1
Выгрузка в Excel через ADO
    #38616684
PiNe4Error
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выгружаю в файл екселя по пути -> строка подключения -> Insert .... Получаю в екселе все данные как строки - "Число сохранено как текст". В самом файле выставлял формат ячейки - числовой. Версия екселя 2010 (xlsx). Подскажите как передать число как число. Числа не целые - разделитель запятая. В региональных настройках тоже запятая.
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618076
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PiNe4Error,

у Excel есть свои настройки... разделителя в том числе...
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618282
PiNe4Error
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitC,

спасибо, но это немного не то. Число сохранено как тескт - и с ним ни суммирование, никаких других операций не произвести. Выделять каждый раз диапозон руками и нажимать - преобразовать в число - пока сделано у меня так...
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618451
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiNe4Error,
... так а в коде у вас параметр для инсерта какого типа, string, decimal, float ?
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618519
PiNe4Error
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikPiNe4Error,
... так а в коде у вас параметр для инсерта какого типа, string, decimal, float ?

В коде - формирую string sqlStr = "INSERT ......"
передаю все как строку. Числовые поля у меня с запятыми (2 знака после запятой). Как передать именно как число - не нашел. Везде применяют позднее связывание, а мне так не годится..
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618534
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiNe4ErrorВ коде - формирую string sqlStr = "INSERT ......"
передаю все как строку. Числовые поля у меня с запятыми (2 знака после запятой). Как передать именно как число - не нашел. Везде применяют позднее связывание, а мне так не годится..В SQL никак, там по жизни строка. Обычно дополнительно передаются строки с наименованием полей и форматом полей.
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618632
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiNe4Error,
.. так даже если без параметров (хотя все смотрят с осужденьем) число передается без апострофов (но с десятичной точкой ), а строчное значение - в апострофах ... А у вас как?
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618697
PiNe4Error
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikPiNe4Error,
.. так даже если без параметров (хотя все смотрят с осужденьем) число передается без апострофов (но с десятичной точкой ), а строчное значение - в апострофах ... А у вас как?

передаю в апострофах с разделителем запятая. С точкой не пробовал. А пример кода можно?
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618723
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiNe4Error,


Код: sql
1.
INSERT INTO [mytable] ([chislo], [stroka]) VALUES(12.59, 'kuku')
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618733
igr_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PiNe4ErrorcarrotikPiNe4Error,
.. так даже если без параметров (хотя все смотрят с осужденьем) число передается без апострофов (но с десятичной точкой ), а строчное значение - в апострофах ... А у вас как?

передаю в апострофах с разделителем запятая. С точкой не пробовал. А пример кода можно?Если вы явно указываете,что значение является строкой, то чему вы потом удивляетесь?
Проверяйте сначала тип данных и в зависимости от типа используйте одинарные кавычки только для строковых данных(а еще дат и может еще что-то найдется). Хотя на все эти грабли можно было бы не наступать с помощью параметров.
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618775
PiNe4Error
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как изменить код чтобы в ексель не возникало - число сохранено как текст

Код: 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.
            try
            {
                System.Data.OleDb.OleDbConnection MyConnection;
                System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
                string sql = null;

                MyConnection = new System.Data.OleDb.OleDbConnection(@"provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + sFileXls + "; Extended Properties=\"Excel 12.0;HDR=No;\"");

                MyConnection.Open();
				...
                myCommand.Connection = MyConnection;

                    sql =   "INSERT INTO [Sheet1$] (F1, F2, F3, F4, F5, F6, F7) " +
                            "VALUES (" +
                            "'" + tableResult.Rows[iDatarow]["id1"].ToString() + "'" + "," +
                            "'" + tableResult.Rows[iDatarow]["id2"].ToString() + "'" + "," +
                            "'" + tableResult.Rows[iDatarow]["id3"].ToString() + "'" + "," +
                            "'" + tableResult.Rows[iDatarow]["id4"].ToString() + "'" + "," +
                            "'" + tableResult.Rows[iDatarow]["id5"].ToString() + "'" + "," +
                            "'" + tableResult.Rows[iDatarow]["id6"].ToString() + "'" + "," +
                            "'" + tableResult.Rows[iDatarow]["id7"].ToString() + "')";

                    myCommand.CommandText = sql;
                    myCommand.ExecuteNonQuery();

                }
               
                myCommand.CommandText = sql;
                myCommand.ExecuteNonQuery();

                MyConnection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618806
igr_ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PiNe4ErrorПодскажите как изменить код чтобы в ексель не возникало - число сохранено как текст
тынц
...
Рейтинг: 0 / 0
Выгрузка в Excel через ADO
    #38618808
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PiNe4Error,
..поскольку у вас OleDB, то там параметры несколько по-хитрому заводятся
http://msdn.microsoft.com/ru-ru/library/system.data.oledb.oledbdataadapter(v=vs.110).aspx
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выгрузка в Excel через ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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