Последние твиты...

  •  

Генерирования Word документов на SharePoint 2010

Автор: volfar | Категория: SharePoint 2010 | Опубликовано: 16-05-2012

0

В прошлой статье я писал как генерировать офисные документы на компютере, аналогично же можно и генерировать эти документы на SharePoint запихнув код генерации в какой нить Event reciver или WorkfLow.

Немножко модифицируйте метод CreatePackage()


public
string CreatePackage(string fileName, EstimateWordDataContext dataContext, SPWeb CurWeb)

{


string FileUrl;

EWDC = dataContext;

System.Guid SPListGuid = new System.Guid(“00bff39b-3101-47d4-becc-70804d82c0af”);//folder Документ


SPList DocLib = CurWeb.Lists.GetList(SPListGuid, false);


using (MemoryStream memoryStream = new
MemoryStream())

{


using (WordprocessingDocument package = WordprocessingDocument.Create(memoryStream, WordprocessingDocumentType.Document))

{

CreateParts(package);

}


SPFile file = DocLib.RootFolder.Files.Add(fileName, memoryStream, true);

file.Update();

FileUrl = file.ServerRelativeUrl;

}


return FileUrl;

}

Можно ли работать на компьютере быстрее?

Автор: volfar | Категория: Windows 7 | Опубликовано: 16-05-2012

0

Каждый пользователь компьютера почти всегда пользуется мышкой, но скажу вам – без неё можно обойтись в большинстве(99.9%) случаев, если вы не дизайнер. Существуют так  называемые “горячие клавиши” которые не только разрешат не пользоваться мышкой но и упростят вам работу с компьютером.

Например сколько раз в день вы открываете «Мой компьютер» лично я наверное раз 30 как минимум, а теперь подсчитаем сколько времени мы тратим на это?

Например в лучшем случае ярлык на «Мой компьютер» находится на рабочем столе чтоб на жать на него мы тратим приблизительно 1 секунду, а можно открыть в 10 раз быстрей просто нажав «горячую клавишу» (под «горячей клавишей» подразумевается комбинация клавиш ) –  win + е .

win key

Вот полный список горячих клавиш Windows 7:

  • WIN + B — Перенести курсор в область трея.
  • WIN + D — Показать рабочий стол (свернуть все окна).
  • WIN + Е — Мой компьютер.
  • WIN + F — Открыть окно поиска.
  • WIN + G — Показать гаджеты поверх окон.
  • WIN + L — Заблокировать компьютер.
  • WIN + M — Свернуть все окна.
  • WIN + P - Диалог управления проектором.
  • WIN + L — Заблокировать компьютер.
  • WIN + M — Свернуть все окна.
  • WIN + P - Диалог управления проектором.
  • WIN + X — Вызов Центр мобильности (ноутбуки и нетбуки).
  • WIN + Табуляция - Вызов Flip 3D.
  • WIN + Пробел — Просмотр рабочего стола (Aero Peak, сделать все окна прозрачными).
  • WIN + Стрелка — Управление расположением активного окна (Вверх — максимизировать, вниз — свернуть, влево — прикрепить к левому краю, вправо — прикрепить к правому краю).
  • WIN + Pause - Свойства системы.
  • WIN + Home — Свернуть все окна, кроме активного (тоже самое, что и Aero Shake (потрясти окно)).
  • WIN + Shift + Вверх — Развернуть по максимальному окно по вертикали.
  • Shift + WIN + Влево/вправо — Перенаправить окно на соседний монитор.
  • WIN + Номер иконки в таскбаре — Выделить это окно, а остальные сделать прозрачными (Aero Peak).
  • Аlt + Табуляция — Переключение между окнами.
  • Shift + Ctrl + N — Создать новую папку.
  • Сtrl + Shift + Esc - Открытие диспетчера задач.
  • Аlt + F4 — Закрыть активное окно.
  • F1 — Справка
  • F5 — Обновить окно.
  • Esc — Отменить операцию.
  • Сtrl + С — Копировать.
  • Ctrl + A — Выделить всё.
  • Сtrl + Х — Вырезать.
  • Сtrl + V — Вставить.
  • Сtrl + Z — Отменить.
  • Ctrl + Y — Повторить действие.
  • Сtrl + B — Сделать жирным (только текст).
  • Delete — Удалить выделенный элемент.
  • Shift +Delete — Удалить файл без перемещения в корзину.

Если же вы фанат родного плеера(хотя я в этом имею большие сомнения) то вот вам еще горячие клавиши Windows Media Player

Ctrl + 1 Переключиться в режим библиотеки Из любого режима
Ctrl + 2 Переключиться в режим скина Из любого режима
Ctrl + 3 Переключиться в режим плеера Из любого режима, исключая полноэкранный
Ctrl + 7 Добавить в список проигрывания В режиме библиотеки
Ctrl + 8 Добавить в список записи В режиме библиотеки
Ctrl + 9 Добавить в список синхронизации В режиме библиотеки
Ctrl + A Выбрать все элементы в списке В библиотеке или списке
Ctrl + B Предыдущий (элемент или раздел) При проигрывании контента
Ctrl + E Сфокусироваться на поиске и перейти в режим библиотеки, если еще не в нем
Ctrl + F Следующий (элемент или раздел) При проигрывании контента
Ctrl + H Включить/выключить режим случайного выбора shuffle mode
Ctrl + J Извлечь В любом режиме
Ctrl + M Переключить меню в библиотеке В любом режиме
Ctrl + N Создать плейлист (список проигрывания) В режиме библиотеки
Ctrl + O Показать диалог открытия В любом режиме
Ctrl + P Переключатель проигрывания / паузы Контента в очереди
Ctrl + Q Добавить выбранный трэк в открытый список По умолчанию в списке проигрывания
Ctrl + S Остановить проигрывание Проигрываемого контента
Ctrl + T Включить / выключить режим повтора В любом режиме
Ctrl + U Показать диалог открытия ссылки URL В любом режиме
Ctrl + W Остановить проигрывание При проигрывании контента или на паузе
Ctrl + Shift + B Перемотка проигрываемого контента назад При проигрывании DVD
Ctrl + Shift + C Включение / выключение субтитров Для контента с субтитрами
Ctrl + Shift + F Ускорить проигрывание контента При проигрывании контента
Ctrl + Shift + G Скорость проигрывания быстрая При проигрывании контента
Ctrl + Shift + N Скорость проигрывания нормальная При проигрывании контента
Ctrl + Shift + S Скорость проигрывания медленная При проигрывании контента
Ctrl + Стрелка вправо Следующий плейлист (список проигрывания) в истории списков При фокусе не на панели перемотки
Ctrl + Стрелка влево Предыдущий плейлист (список проигрывания) в истории списков При фокусе не на панели перемотки
Ctrl + Стрелка вправо Отмотать вперед (на много) При фокусе на панели перемотки (бегунке)
Ctrl + Стрелка влево Отмотать назад (на много) При фокусе на панели перемотки (бегунке)
Стрелка вправо Отмотать вперед (на немного) При фокусе на панели перемотки (бегунке)
Стрелка влево Отмотать назад (на немного) При фокусе на панели перемотки (бегунке)
Ctrl + клик Подогнать размер плеера под изображение В режиме проигрывается сейчас
Escape Вернуться в режим сейчас проигрывается В полноэкранном режиме
F1 Открыть файл помощи В любом режиме
F2 Редактировать метаданные В режиме библиотеки с выбранным элементом
F4 Переключить режим просмотра В режиме библиотеки с фокусом на просмотре списка
F5 Обновить экран При фокусе на библиотеке или на онлайновом сервисе
F6 Увеличить рисунок альбома При фокусе на просмотре списка
Shift + F6 Уменьшить рисунок альбома При фокусе на просмотре списка
F7 Отключить звук В любом режиме
F8 Уменьшить громкость звука В любом режиме
F9 Увеличить громкость звука В любом режиме
F10 Показать панель меню в библиотеке Из любого режима
Shift + F10 Контекст ярлыка меню В любом режиме
Alt + 1 Размер видео 50% В режиме проигрывается сейчас или скина при проигрывании видео
Alt + 2 Размер видео 100% В режиме проигрывается сейчас или скина при проигрывании видео
Alt + 3 Размер видео 200% В режиме проигрывается сейчас или скина при проигрывании видео
Alt + Enter Переключатель полноэкранного режима В режиме проигрывается сейчас, скина или в полноэкранном режиме

Если вы будете знать эти горячие клавиши то ваша работа за компьютером ускорится в 400% – вы только представьте себе )))

Генерация Office документов с помощью C#

Автор: volfar | Категория: .Net, C# | Опубликовано: 16-05-2012

0

OfficeOpenXML – это тот, формат в каком вы по умолчанию сохраняете документы, работая в Word и Excel: docx и xlsx. Файл представляет собой zip-архив. Его можно переименовать в zip, открыть архиватором и рассмотреть, что внутри:


Для работы с office документами нам понадобятся:

Качаем OpenXMLSDKTool с сайта Microsoft и устанавливаем его:

Запускаем Open XML SDK 2.0 Productivity Tool:

Загружаем в программу наш документ и кликаем «Reflect Code»:

  1. Создаем проект в Visual Studio. Пусть это будет простое консольное C#-приложение
  2. Добавим в проект необходимые сборки:

DocumentFormat.OpenXml.dll

  • C:\Program Files (x86)\Open XML SDK\V2.0\lib\DocumentFormat.OpenXml.dll

WindowsBase.dll

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\WindowsBase.dll

  1. Добавляем файл «GeneratedClass.cs»
  2. Копируем туда код из Open XML SDK 2.0 Productivity Tool, из окошка ReflectedCode
  3. Закрываем файл, сохранив его, переходим в Program.cs
  4. В метроде Main: new GeneratedCode.GeneratedClass().CreatePackage(@”E:\Zaiavka_na_komandirovky.docx”);
  5. Запускайте!

На диске вы увидете сгенерированый файл E:\Zaiavka_na_komandirovky.docx

Всё. Код для генерации документа готов. Документ будет выглядеть точно так же, как он выглядел перед тем, как вы сохранили его в Word.

Как же все это работает?

Из метода Main мы запускаем метод CreatePackage() который создает файл, давайте заглянем глубже что он собой являет:

// Creates a WordprocessingDocument.


public
void CreatePackage(string filePath)

{


using (WordprocessingDocument package = WordprocessingDocument.Create(filePath, WordprocessingDocumentType.Document))

{

CreateParts(package);

}

}

Тут у нас опять запускается другой метод CreateParts(package)ключевой метод который вызывает методы для генерации всех частей документа.

private
void CreateParts(WordprocessingDocument document)

{


ExtendedFilePropertiesPart extendedFilePropertiesPart1 = document.AddNewPart<ExtendedFilePropertiesPart>(“rId3″);

GenerateExtendedFilePropertiesPart1Content(extendedFilePropertiesPart1);

 


MainDocumentPart mainDocumentPart1 = document.AddMainDocumentPart();

GenerateMainDocumentPart1Content(mainDocumentPart1);

 


DocumentSettingsPart documentSettingsPart1 = mainDocumentPart1.AddNewPart<DocumentSettingsPart>(“rId3″);

GenerateDocumentSettingsPart1Content(documentSettingsPart1);

 


StylesWithEffectsPart stylesWithEffectsPart1 = mainDocumentPart1.AddNewPart<StylesWithEffectsPart>(“rId2″);

GenerateStylesWithEffectsPart1Content(stylesWithEffectsPart1);

 


StyleDefinitionsPart styleDefinitionsPart1 = mainDocumentPart1.AddNewPart<StyleDefinitionsPart>(“rId1″);

GenerateStyleDefinitionsPart1Content(styleDefinitionsPart1);

 


ThemePart themePart1 = mainDocumentPart1.AddNewPart<ThemePart>(“rId6″);

GenerateThemePart1Content(themePart1);

 


FontTablePart fontTablePart1 = mainDocumentPart1.AddNewPart<FontTablePart>(“rId5″);

GenerateFontTablePart1Content(fontTablePart1);

 


WebSettingsPart webSettingsPart1 = mainDocumentPart1.AddNewPart<WebSettingsPart>(“rId4″);

GenerateWebSettingsPart1Content(webSettingsPart1);

 

SetPackageProperties(document);

}

Сдесь обратите внимание на метод GenerateMainDocumentPart1Content(MainDocumentPart mainDocumentPart1)

Он содержит основной код для генерации документа, там будет много кода, вы можете по поиску найти нужный вам текст(который был в ворд документе) и заменить его и уже при новом запуске программы сгенерируется документ с другим текстом, который вы уже можете подставлять динамически, так же обратите внимание на то каким кодом генерируется основная часть документа и по аналогии допишите свою часть.

Файл проекта

Привязка Event Reciver к определенному списку

Автор: volfar | Категория: SharePoint 2010 | Опубликовано: 16-05-2012

0

К сожалению при создании Event Reciverа его сразу нельзя привязать к определенному списку, а можно привязать только ко всем спискам определенного типа, но можно сделать маленькую проверку при запуске ресивера.

Вот так:

public
class
EventReceiver1 : SPItemEventReceiver

{


///
<summary>


/// An item was added.


///
</summary>


public
override
void ItemAdded(SPItemEventProperties properties)

{


base.ItemAdded(properties);


if (
properties.ListTitle == “MyListTitle”)

{


//do some event reciver code

}

}

}

SharePoint 2010 в метро стиле

Автор: volfar | Категория: Новости | Опубликовано: 14-05-2012

0

Совсем недавно на всеми любимом кодплексе появился open-source проект с метро стилем под SharePoint 2010(есть как изолированое так и решения для фермы).

Как его установить я детально описал здесь.

Ниже несколько скринов – любуйтесь!!!

До изменения:

После: