Pull to refresh
4
Александр Щетинин@Alxdhere

User

9
Subscribers
Send message
Это все из-за санкций! Теперь Хьюлет не будет продавать принтеры в Россию, а Паккард будет. Или наоборот. :) :) :)
Верно подмечено!
Решаемо:

function numToLetter($num)
{
	$f = '';
	do 
	{
		$f = chr(64 + $num % 26) . $f;
		$num = floor($num / 26);
	}
	while ($num > 0);
	return $f;
}

echo '<br/>letters: ',numToLetter(1905); //return BUG


Спасибо за замечание.
Ой, простите. Моя вина.
Deaddy указал на то, что в предыдущем сообщений Вы написали XLS, а не XLSX. Если это не опечатка, то надо понимать, что это разные форматы. То, что подходит для XLSX не подойдет для XLS.
1. Разместил файл template.xlsx на Gitub. Можете им воспользоваться.
2. Верно-верно. Но публикация ведь про мой опыт, а мне нужны были только указанные мной форматы.

Однако, нет ничего проще использовать и другие форматы. Попробую описать по пунктам:
a. Открыть template.xlsx
b. Ввести в какую-нибудь ячейку тестовое значение и отформатировать его так, как вам нужно
c. Стереть введенное значение (можно не стирать, но ...)
d. Сохранить template.xlsx
e. Переименовать xlsx в xip.
f. Распаковать.
g. Найти файл /xl/styles.xml.
h. Открыть его в каком-нибудь приложении для просмотра, например, в Internet Explorer.
i. Найти тэг cellXfs, в нем и будут содержаться все стили, включая новый.
Рекомендую проделать эти операции на копии template.xlsx, чтобы в п.i сравнить исходный styles.xml и конечный styles.xml. Обращаю внимание еще и на тот факт, что ссылка на стиль осуществляется по порядковому номеру стиля.

3. Именно так, ведь простой экспорт подразумевает экспорт именно значений, а не форматов. Хотя, справедливости ради, укажу на тот факт, что в функции appendCellString учитывается установка флага isBold, который позволяет сделать строковые значения жирным шрифтом.

Про fputcsv знаю, но значения сохраненные в csv формате при открытии в Excel рискуют быть искаженными. Уж очень любит Microsoft Excel «догадываться» какой формат надо установить для значения и превращает все подряд в даты. Кроме этого, обычному современному пользователю csv формат неизвестен, ну или вызывает замешательство и депрессию. В общем, такой простенький экспорт в формате xlsx оправдан тем, что сокращает количество обращений пользователей с вопросом: «Что делать с CSV?»
Кстати, про команду «Данные» — «Из текста» в Excel знает тоже не каждый пользователь.

Смысл публикации именно в том, чтобы поделиться опытом и позволить другим программистам, коллегам, не ломать голову при решении подобных задач. Написание класса для экспорта в XLSX у меня отняло примерно пару дней. Сперва разбирался с шаблоном. Потом со строками и датами. Потом оформлял в класс. Если кто-то другой прочитав эту публикацию сэкономит пару дней я буду только рад!
Конечно, никто не заставляет и в начале этого года, когда мы обычно оформляем подписку на продукты Autodesk была составлена соотв. служебная записка на имя генерального директора с указанием на то, что нет никакой технической необходимости ее продлевать и оплачивать. В новых версиях продуктов нет ничего для нас полезного.
После ее прочтения, генеральный директор вызвал меня на обсуждение этого вопроса и в результате пришли к тому, что нам выгоднее продолжать оплачивать подписку из финансовых соображений каждый год, чем отказаться от нее и пользоваться теми продуктами, которые у нас есть.
Политика Autodesk такая, что через 3 года продукты морально устареют и начнутся проблемы с открытием файлов новых версий (они даже сейчас уже есть), потом продукты снимут с поддержки, в общем, когда через 5-7-9 лет мы захотим получить новые версии продуктов, придется платить в 10 раз больше и одним разом! И за что? За точно такие же продукты «изнутри», видоизмененные «снаружи», очередным логотипом и «шильдиком» новой версии сверху?

Таким образом, фактически, ничего не отдавая взамен нам «выкручивают руки» заставляя оплачивать подписку, которая только лишь дает нам право использовать то, что у нас уже есть. Мы ее вынуждены оплачивать как налог! Хотя даже налоги должны идти на улучшение жизни, а в случае с подпиской даже это не получается!

По-моему это неправильно!
Лично у меня, как у давнего пользователя AutoCAD и «вертикальных» продуктов на его основе, последние лет 5 складывается устойчивое мнение, что Autodesk перенял политику Microsoft в части разработки ПО. Меняется только внешний вид продукта и добавляются редкие интерфейсные фишки, которые, зачастую, пользователи выключают сразу после установки. Никаких реально прорывных улучшений нет.
Почему так? Ответ банален. Деньги! Если внести полезные улучшения в «движок» AutoCAD и не сделать ни одного заметного изменения в интерфейсе, непонятно за что просить денег 15 марта каждого года?! Такие изменения заметят только гики и программисты, которых 10% от общего числа потребителей ПО.
Лично меня такое положение дел не просто расстраивает, а уже начинает бесить. «Шитое белыми нитками» высасывание денег из пользователей не получающих практически ничего полезного в обмен.

В общем, как в той шутке:
Раньше, когда запускали новую версию продукта первая мысль была: «Ну-ка, что тут новенького!?»
Теперь, когда запускаем новую версию продукта первая мысль: «Херня! Привыкнем!»
Очень вовремя, лично для меня :)
Спасибо!
Ждем выпуска Microsoft Word 2015 с новым анимированным и видео интерфейсом, который будет тормозить даже на AMD Radeon R9 295X2! :)))
Следующий шаг «законописателей»:
Пользуешься услугами иностранного сайта? Подай заявку на его использование, иначе это незаконно!
При рассмотрении заявки, в использовании иностранного сайта может быть отказано и предложено использование другого «аналогичного» ресурса (скорее всего российского и государственного), с мощным лобби.
Судя по озвученной теме, ракеты для уничтожения спутников были или есть только у трех стран: США, Россия (СССР), Китай. США могли бы себе позволить разработать remover'а, который бы утаскивал спутник в никуда, чтобы и свои спутники сберечь, и врагу навредить. Однако, то ли денег жалко, то ли иные соображения. Может отталкиваются от того, что проще нарушить работу спутника радиопомехами?
javax, ваша позиция понятна — «пожар потушим», потом будем завалы разгребать :)
Об этом я успел подумать. Но вот взвесить не могу… что дороже, учитывать осколки после поражения спутника, или разработать remover'а :)
Разумеется, проще и дешевле ракету сделать. Но вот последствия по-моему дороже будут…
Что ж так мрачно. При апокалиптическом сценарии понятно, почему не до осколков. В этом случае вопрос не стоит :)
Локальные конфликты тоже могут приводить к уничтожению спутников. Пусть даже не к массовому. Но даже от одного уничтоженного спутника будет столько осколков, что замаешься их учитывать. Мне так кажется.
Все знают, кто в мире больше других любит локальные конфликты не на своей территории и мог бы обладать соотв. оружием для уничтожения спутников противника. Вот отсюда и вопрос. Даже не вопрос, а размышление.
Как известно, при уничтожении, от прямого попадания ракеты в спутник, будет множество осколков. Их направление движения, скорость и конечная траектория непредсказуемы. Неужели разработчики противоспутниковых ракет не задумывались о том, что в случае массового уничтожения спутников, вся орбита будет загажена осколками?
Почему, например, не придумали вместо ракет некие буксиры, которые бы при приближении к спутнику не врезались на полной скорости, а аккуратно толкали его или к Земле, чтобы он сгорел в атмосфере, или от Земли, чтобы сошел со своей орбиты?
Прошу прощения, если вопросы дилетантские. :)

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity