• Почему при закрытии программно документа Word в процессах остается висеть WINWORD.EXE?

    @Sumor
    Это потому, что вы закрыли документ, но не закрыли ворд.
    Для закрытия ворда нужно ему дать команду Quit.
    Ответ написан
    1 комментарий
  • Как передать данные из datagridview в Excel / Word?

    bodrov
    @bodrov
    Добрый день.

    В метку писать таблицу не получится. Можно обратиться непосредственно к таблице в документе примерно так:
    Microsoft.Office.Interop.Word.Table table = doc.Tables[1];
    Microsoft.Office.Interop.Word.Row row = null;
    foreach (string item in collection)
    {
                    row = table.Rows.Add(ref missing);
                    table.Cell(row.Index, 1/*номер столбца*/).Range.Text = item;
    }
    Ответ написан
    1 комментарий
  • Как передать данные из datagridview в Excel / Word?

    gloomkolomna
    @gloomkolomna Автор вопроса
    c#, WPF
    Решил вот так:
    xl = new Microsoft.Office.Interop.Excel.Application();
    wBook = (Microsoft.Office.Interop.Excel._Workbook)xl.Workbooks.Open(excelTemplatePath, false, false, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
    wSheet = (Microsoft.Office.Interop.Excel._Worksheet)wBook.ActiveSheet;
    
    // с какой строки начинаем вставлять данные из dgv
    int iRowCount = 11;
    
    for (int i = 0; i < dgv.Rows.Count; i++)
    {
       wSheet.Cells[iRowCount, 1] = dgv.Rows[i].Cells[0].Value.ToString();
       wSheet.Cells[iRowCount, 2] = dgv.Rows[i].Cells[1].Value.ToString();
       wSheet.Cells[iRowCount, 3] = dgv.Rows[i].Cells[2].Value.ToString();
       wSheet.Cells[iRowCount, 4] = dgv.Rows[i].Cells[3].Value.ToString();
    
       iRowCount++;
    
       // Добавляем строчку ниже
       var cellsDRnr = wSheet.get_Range("A" + iRowCount, "A" + iRowCount);
       cellsDRnr.EntireRow.Insert(-4121, m_objOpt);
    }
    Ответ написан
    Комментировать
  • Как это сверстать?

    monochromer
    @monochromer
    DIVeloper
    Вариант на float.

    Допущение, что боковые колонки фиксированной ширины (в демке 200px). Центральная колонка идет в разметке первой (SEO-шники в экстазе).

    Пример 10-летней давности.
    Ответ написан
    Комментировать
  • Как устроена архитектура современного front-end приложения?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    В одностраничном приложении (SPA) присутствует единая точка входа. Это загрузка основного скрипта, который будет отвечать за логику работы приложения. Это как index.php в корне веб-сайта. Ну а дальше он уже сам решает, что делать. В основной скрипт обычно включены составляющие отвечающие за маршрутизацию и загрузку других частей приложения. Вы можете представить себе SPA как набор кирпичиков с раствором в виде основного скрипта.
    Так вот эти кирпичики могут быть загружены сразу, а могут лишь в тот момент, когда они потребуется, примерно как Autoloader в Composer.

    Относительно загрузки есть несколько разных подходов.
    1. Когда грузится только загрузчик и затем остальные скрипты и шаблоны подгружаются по необходимости.
    2. Когда все (скрипты+шаблоны) собирается в огромный JS-файл. Это файл потом работает.
    3. Когда JS идет большим файлом, а шаблоны отдельно (так работает AngularJS 1).

    Есть множество различных сборщиков, например WebPack, Gulp, Brunch, Grunt. Их вариаций много, не пугайтесь.

    После начальной загрузки приложение решает, что должно быть запущено первым. Обычно это какие-то системные вещи, вроде загрузки шаблонизатора, всяких кэшей и роутера.
    Далее роутер рабирает маршрут и запускает нужный модуль (контроллер/компонент); в зависимости от фреймворка это выглядит по-разному, но суть одна и таже.
    Каждый компонент отвечает за модификацию отдельных узлов дерева состояний, которое так или иначе спроецировано на DOM. Если смотреть на бэкенд, это как подставлять в шаблон данные, только на бэкэнде это происходит в один проход, а здесь перестройка происходит сразу после изменения оригинальных данных.
    В каждом феймворке это сделано по-своему. Смысл одинаков - проекция данных на DOM.
    Данные вытаскиваются приложением самостоятельно, могут быть загружены через Ajax. У меня есть приложение, где транспорт идет через веб-сокеты. Можно даже через iframe заморочиться, это не имеет значения.
    Иногда сервер отдает страничку с изначально подготовленными данными. Это делается в разных целях, в основном для уменьшения скорости старта приложения.

    Из личного опыта скажу, что вам следует начинать с Angular 2, т.к. он сделан намного проще остальных в плане использования.
    Ответ написан
    1 комментарий
  • Выбор фреймворка для нового проекта - Angular? React? Vue?

    dom1n1k
    @dom1n1k
    Лично для меня Vue - это такой "фреймворк с человеческим лицом".
    В целом JS-мир похож на поле боевых действий, где постоянно то налеты авиации, то кононада гремит, то хипстерская конница с новым логотипом на знамёнах проскачет.
    А "обычный" человек сидит в подвале, обхватив голову руками, и думает - мама дорогая, куда я попал, и чё ваще вокруг происходит?
    Какие-то новые паттерны, подходы, языки... Раньше, чтобы начать, достаточно было блокнота и браузера. Пишешь hello world и сразу его видишь. Теперь нужно поставить ноду, овер 9000 пакетов, десять транспиляторов, таск-менеджеров и бандлеров. Пока увидишь рабочий результат - поседеешь.
    И вдруг какая-то добрая душа взяла у хипстоты всё самое лучшее и разумное, что та родила, но очистив от лишних абстракций и усложнений - и выкатила велосипед в виде велосипеда, а не турбо-космолета с инструкцией толщиной как "Капитал". И снова можно писать в блокноте и смотреть в браузере. При этом почти не проигрывая в возможностях.
    Ответ написан
    1 комментарий
  • Стоит ли использовать SEOPult.ru для продвижения нового сайта и какова его эффективность?

    @maklich
    сеопульт хорош и еще с нескольких сторон. знаю много вебмастеров, которые держат там проекты только ради отличной аналитики. к слову, нежелательные площадки можно удалять при желании.
    эффективность можно отследить спустя несколько месяцев ведения сайта в системе - либо ты в топ, либо не в топ (другого не дано :-)). мои сайты сеопульт успешно продвигает по НЧ и СЧ-запросам. там же веду и контекстную рекламу. вполне удобно и настраивается проще чем аналогические сервисы.
    Ответ написан
    Комментировать