вторник, 25 марта 2014 г.

C# Экспорт DataGridView в Excel

Устанавливаем o2007pia.msi, в проекте, через AddReference добавляем COM-объект "Microsoft Excel 12 Object Library":



using Microsoft.Office.Interop.Excel;


...

private void btnSaveXls_Click(object sender, EventArgs e)
{
    // creating Excel Application
    Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();


    // creating new WorkBook within Excel application  
    Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);

    // creating new Excelsheet in workbook  
    Microsoft.Office.Interop.Excel._Worksheet worksheet = null;

    // see the excel sheet behind the program
    app.Visible = true;    
    // store its reference to worksheet
    worksheet = (Worksheet)workbook.ActiveSheet;

    // changing the name of active sheet
    worksheet.Name = "Exported from gridview";

    // storing header part in Excel
    for (int i = 1; i < dgvV.Columns.Count + 1; i++)
    {
        worksheet.Cells[1, i] = dgvV.Columns[i - 1].HeaderText;
    }

    worksheet.get_Range("A1").AutoFit(); 
    worksheet.get_Range("B1").AutoFit();
    worksheet.get_Range("C1").AutoFit();

    // storing Each row and column value to excel sheet
    for (int i = 0; i < dgvV.Rows.Count - 1; i++)
    {
        for (int j = 0; j < dgvV.Columns.Count; j++)
        {
            worksheet.Cells[i + 2, j + 1] = dgvV.Rows[i].Cells[j].Value.ToString();
        }
    }

    // save the application
    workbook.SaveAs("c:\\output.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

    // Exit from the application
    app.Quit();
}

четверг, 20 марта 2014 г.

Установка и настройка web-сервера (Apache/PHP/MySQL/httpd-virtual-host)

Цель: установить на локальный компьютер web-сервер.

Используемое ПО:
1. Apache 2.2;
2. NuSphere PHPEd 5.9 Professional - в состав входит PHP IDE для разработки сайтов;
3. MySQL Server 5.1;
4. MySQL Front;

Шаг 1. Устанавливаем Apache 2.2 в каталог "C:\webRoot\Apache2.2".

Шаг 2. Устанавливаем PHP, в моем случае это NuSphere PHPEd 5.9 Pro в каталог "C:\webRoot\PhpED".

Шаг 3. Устанавливаем MySQL Server 5.1 в каталог "C:\webRoot\MySQL Server 5.1".

Шаг 4. В самое начало файла "c:\webRoot\Apache2.2\conf\httpd.conf" прописываем строки:
LoadModule php5_module "C:/webRoot/PhpED/php53/php5apache2_2.dll"
AddType application/x-httpd-php .php

и

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
index.html меняем на index.php

Шаг 5. Перезапускаем Apache.

Шаг 6. Копируем в каталог "c:\windows" файлы:
c:\webRoot\PhpED\php53\php.ini
и
c:\webRoot\MySQL Server 5.1\bin\libmySQL.dll

Шаг 7. Перезапускаем Apache.

web-сервер Apache установлен, PHP и MySQL для совместной работы сконфигурированы, теперь настраиваем виртуальные хосты.

Шаг 8. В файл "c:\windows\system32\drivers\etc\hosts" прописываем строки:
127.0.0.1 localhost
127.0.0.1 astra-sv.100ms.local
127.0.0.1 mbdou53.100ms.local
127.0.0.1 astra-blog.local
127.0.0.1 astra-secure.local

Шаг 9. В файле "c:\webRoot\Apache2.2\conf\httpd.conf" снимем комментарий со строки:
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf

чтобы получилось

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Шаг 10. Создаем 4 каталога, для хранения файлов соответствующих четырех сайтов:
C:\webRoot\Apache2.2\htdocs\astra-blog.local
C:\webRoot\Apache2.2\htdocs\astra-secure.local
C:\webRoot\Apache2.2\htdocs\astra-sv.100ms.local
C:\webRoot\Apache2.2\htdocs\mbdou53.100ms.local

Шаг 11. В самый конец файла "c:\webRoot\Apache2.2\conf\extra\httpd-vhosts.conf" добавляем описание четырех виртуальных серверов:
...
<VirtualHost *:80>
ServerAdmin astra-sv@localhost
DocumentRoot "C:/webRoot/Apache2.2/htdocs/astra-sv.100ms.local"
ServerName astra-sv.100ms.local
</VirtualHost>

<VirtualHost *:80>
ServerAdmin astra-blog@localhost
DocumentRoot "C:/webRoot/Apache2.2/htdocs/astra-blog.local"
ServerName astra-blog.local
</VirtualHost>

<VirtualHost *:80>
ServerAdmin mbdou53@localhost
DocumentRoot "C:/webRoot/Apache2.2/htdocs/mbdou53.100ms.local"
ServerName mbdou53.100ms.local
</VirtualHost>

<VirtualHost *:80>
  ServerAdmin astra-secure@local
DocumentRoot "C:/webRoot/Apache2.2/htdocs/astra-secure.local"
ServerName astra-secure.local
</VirtualHost>
...

Шаг 12. Перезапустить Apache.

Шаг 13. Для удобства работы с базами данных MySQL устанавливаем MySQL Front.

Docker. Первые контейнеры

Источник:  php.dragomano.ru Структура каталогов: ~/develop/web/project/                  nginx/      - сервис web-сервера                php...