Конвертирайте excel 2007 в excel 2003

Според моя сценарий искам да конвертирам файл от Excel 2007 (.xlsx) в Excel 2003 (.xls).

Искам да направя това с C# код.

Благодаря за помощта.


person Saqlain Raza Hemani    schedule 04.11.2011    source източник
comment

Просто решение е да обвиете заявката в подизбор с командата ORDER първо и прилагане на GROUP BY по-късно:

SELECT * FROM ( 
    SELECT `timestamp`, `fromEmail`, `subject`
    FROM `incomingEmails` 
    ORDER BY `timestamp` DESC
) AS tmp_table GROUP BY LOWER(`fromEmail`)

Това е подобно на използването на присъединяването, но изглежда много по-хубаво.

Използването на неагрегирани колони в SELECT с клауза GROUP BY е нестандартно. MySQL обикновено ще върне стойностите на първия ред, който намери, и ще отхвърли останалите. Всички клаузи ORDER BY ще се прилагат само към върнатата стойност на колоната, но не и към отхвърлените.

ВАЖНА АКТУАЛИЗАЦИЯ Изборът на неагрегирани колони е работил на практика, но не трябва да се разчита на него. Според документацията на MySQL това е полезно предимно когато всички стойности във всяка неагрегирана колона, които не са посочени в GROUP BY, са еднакви за всяка група. Сървърът е свободен да избира всяка стойност от всяка група, така че освен ако не са еднакви, избраните стойности са неопределени.

От 5.7.5 ONLY_FULL_GROUP_BY е разрешено от по подразбиране, така че неагрегираните колони причиняват грешки в заявките (ER_WRONG_FIELD_WITH_GROUP)

Както @mikep посочва по-долу, решението е да се използва ANY_VALUE() от 5.7 и по-нови

Вижте http://www.cafewebmaster.com/mysql-order-sort-group https://dev.mysql.com/doc/refman/5.6/en/group-by-handling.html https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html https://dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_any-value

  -  person JMax    schedule 04.11.2011


Отговори (2)


Решение с Excel 2007+

В Excel 2007 щракнете върху Office Button > Save As...

След това променете формата на .xls (работна книга на Excel 97 - 2003).

Решение без версия на Excel >2003

Вижте тази статия

Решение чрез VBA

Начин за конвертирате от .xls в .xlsm чрез пакетен файл или vba?

[РЕДАКТИРАНЕ] Решение с C#

Как да конвертирате xlsx файлове в 2003 xls файлове програмно в C#?

person JMax    schedule 04.11.2011

Отворете файла на Excel 2007 в Office 2007 и просто щракнете върху горния ляв регистрационен файл на Ms-Office и изберете бутона със стрелка Запиши като, а не върху опцията Запиши като и след това изберете опцията Excel 97-2003..... Определено ще работи за вас.

person manoj kumar singh    schedule 04.11.2011
comment
Съжалявам, че пропуснах ред във въпроса си ... Искам да направя това с код C !!!! - person Saqlain Raza Hemani; 04.11.2011
comment
@Saqlain Raza Hemani: вижте редактирания ми отговор и разгледайте как да задавате въпроси - person JMax; 04.11.2011