If somebody like the post and its helpful in your work then, add comments.

Monday, July 27, 2009

SpredSheetML : Updating Column in Excel sheet

Hi,

Thw basic thing in excel is to update the cell in the sheet. We have know idea how to do that. From packaging class method it is diffcult/complez to update specific row column. The SPreadsheetML makes more easy to do that. We have to just add reference of the DocumentFormat.OpenXml and write below code in the solution.

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml;

namespace ExcelUpdation
{
class Program
{
static void Main(string[] args)
{
// InsertText(@"c:\SummaryGraphs.xlsx", "123456789");
UpdateCell(@"c:\SummaryGraphs.xlsx", "420", 22, "C");
UpdateCell(@"c:\SummaryGraphs.xlsx", "420", 22, "D");
UpdateCell(@"c:\SummaryGraphs.xlsx", "420", 22, "E");
UpdateCell(@"c:\SummaryGraphs.xlsx", "420", 22, "F");
UpdateCell(@"c:\SummaryGraphs.xlsx", "420", 22, "G");
UpdateCell(@"c:\SummaryGraphs.xlsx", "420", 22, "H");

UpdateCell(@"c:\SummaryGraphs.xlsx", "421", 23, "C");
UpdateCell(@"c:\SummaryGraphs.xlsx", "421", 23, "D");
UpdateCell(@"c:\SummaryGraphs.xlsx", "421", 23, "E");
UpdateCell(@"c:\SummaryGraphs.xlsx", "421", 23, "F");
UpdateCell(@"c:\SummaryGraphs.xlsx", "421", 23, "G");
UpdateCell(@"c:\SummaryGraphs.xlsx", "421", 23, "H");


}

#region Approch 1

public static void UpdateCell(string docName, string text,uint rowIndex, string columnName)
{
// Open the document for editing.
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(docName, true))
{
WorksheetPart worksheetPart = GetWorksheetPartByName(spreadSheet, "Summary"); //Sheet Title in work book
if (worksheetPart != null)
{ Cell cell = GetCell(worksheetPart.Worksheet, columnName, rowIndex);
cell.CellValue = new CellValue(text);
cell.DataType = new EnumValue(CellValues.Number);
// Save the worksheet.
worksheetPart.Worksheet.Save();
}
}
}
private static WorksheetPart GetWorksheetPartByName(SpreadsheetDocument document, string sheetName)
{
IEnumerable sheets = document.WorkbookPart.Workbook.GetFirstChild(). Elements().Where(s => s.Name == sheetName);
if (sheets.Count() == 0)
{
// The specified worksheet does not exist.
return null;
}
string relationshipId = sheets.First().Id.Value;
WorksheetPart worksheetPart = (WorksheetPart)
document.WorkbookPart.GetPartById(relationshipId);
return worksheetPart;
}
// Given a worksheet, a column name, and a row index,
// gets the cell at the specified column and
private static Cell GetCell(Worksheet worksheet, string columnName, uint rowIndex)
{
Row row = GetRow(worksheet, rowIndex);
if (row == null)
return null;
return row.Elements().Where(c => string.Compare (c.CellReference.Value, columnName +
rowIndex, true) == 0).First();
}
// Given a worksheet and a row index, return the row.
private static Row GetRow(Worksheet worksheet, uint rowIndex)
{
return worksheet.GetFirstChild().
Elements().Where(r => r.RowIndex == rowIndex).First();
}
#endregion

}
}

The reference link
Click Here!

Friday, July 17, 2009

Open XML : Retrieving Word Content Based on Styles

To find or retrive content style based conetent from created word document:

Follow this code:

public static string paraStyle = "Heading1";
public static string paraStyle2 = "Heading2";

using (WordprocessingDocument WorDocument = WordprocessingDocument.Create(@"c:\Test.docx", WordprocessingDocumentType.Document))
{
// Add a new main document part.
MainDocumentPart mainPart = WorDocument.AddMainDocumentPart();
//Create Document tree for simple document.
mainPart.Document = new Document();
//Create Body (this element contains other elements that we want to include
Body body = new Body();
mainPart.Document.Append(body);
// Save changes to the main document part.
mainPart.Document.Save();


int countHeading1= mainPart.ParagraphsByStyleName(paraStyle).Count();
int countHeading2 = mainPart.ParagraphsByStyleName(paraStyle2).Count();
}
}


//Content Serch code.

#region Content

public static string GetStyleIdFromStyleName(MainDocumentPart mainPart, string styleName)
{
StyleDefinitionsPart stylePart = mainPart.StyleDefinitionsPart;
string styleId = stylePart.Styles.Descendants <StyleId >().Where
(s = > s.Val.Value.Equals(styleName))
.Select(n = > ((Style)n.Parent).StyleId).FirstOrDefault();
return styleId ?? styleName;
}
public static IEnumerable <Paragraph > ParagraphsByStyleName(this MainDocumentPart mainPart, string styleName)
{
string styleId = GetStyleIdFromStyleName(mainPart, styleName);
IEnumerable <Paragraph > paraList =
mainPart.Document.Descendants <Paragraph >()
.Where(p = > IsParagraphInStyle(p, styleId));
return paraList;
}

private static bool IsParagraphInStyle(Paragraph p, string styleId)
{
ParagraphProperties pPr = p.GetFirstChild <ParagraphProperties >();
if (pPr != null)
{
ParagraphStyleId paraStyle = pPr.ParagraphStyleId;
if (paraStyle != null)
{
return paraStyle.Val.Value.Equals(styleId);
}
}
return false;
}
public static IEnumerable <Run > RunsByStyleName(this MainDocumentPart mainPart, string styleName)
{
string styleId = GetStyleIdFromStyleName(mainPart, styleName);
IEnumerable <Run > runList = mainPart.Document.Descendants <Run >()
.Where(r = > IsRunInStyle(r, styleId));
return runList;
}
private static bool IsRunInStyle(Run r, string styleId)
{
RunProperties rPr = r.GetFirstChild <RunProperties >();
if (rPr != null)
{
RunStyleId runStyle = rPr.RunStyleId;
if (runStyle != null)
{
return runStyle.Val.Value.Equals(styleId);
}
}
return false;
}
//For Table style
public static IEnumerable <Table > TablesByStyleName(this MainDocumentPart mainPart, string styleName)
{
string styleId = GetStyleIdFromStyleName(mainPart, styleName);
IEnumerable <Table > tableList = mainPart.Document.Descendants <Table >()
.Where(t = > IsTableInStyle(t, styleId));
return tableList;
}
private static bool IsTableInStyle(Table tbl, string styleId)
{
TableProperties tblPr = tbl.GetFirstChild <TableProperties >();
if (tblPr != null)
{
TableStyleId tblStyle = tblPr.TableStyleId;
if (tblStyle != null)
{
return tblStyle.Val.Value.Equals(styleId);
}
}
return false;
}

#endregion

Thursday, July 16, 2009

Open XML: How to use Reflector Tool in Open XML SDK 2.0

This brief description show how to use the documentreflector tool for open xml sdk 2.0.

1. Create a sample document to insert text programmatically like below in screen:


2. Open the tool from SDK folder tools.


3. Click on DocumentReflector Tool.


4. It opens as below in the screen.


5. Click on file->open


6. Select created document from the dialog box.



7. The tools show all the related xml from the document.


8. Click on Document-body-paragraph-text


9. Click on Paragraph.

10 Click on File->Export Code


11. Save the CS file


12. Export Success message


13. The genrated CS file. use in your code.

Open XML : Insert Bullets and Numbering in Word Document

To insert bullets and numbering in the word document use below code :

Numbering :

using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml;

namespace GeneratedCode
{
public class GeneratedClass
{
public static Paragraph GenerateParagraph()
{
var element =
new Paragraph(
new ParagraphProperties(
new ParagraphStyleId(){ Val = "ListParagraph" },
new NumberingProperties(
new NumberingLevelReference(){ Val = 0 },
Type of bullet style-> new NumberingId(){ Val = 1 })),
new Run(
new Text("List 1"))//Text you want to insert with number
){ RsidParagraphAddition = "005F3962", RsidParagraphProperties = "00330DA9", RsidRunAdditionDefault = "00330DA9" };
return element;
}

}
}

Bullets:

using DocumentFormat.OpenXml.Wordprocessing;
using DocumentFormat.OpenXml;

namespace GeneratedCode
{
public class GeneratedClass
{
public static Paragraph GenerateParagraph()
{
var element =
new Paragraph(
new ParagraphProperties(
new ParagraphStyleId(){ Val = "ListParagraph" },
new NumberingProperties(
new NumberingLevelReference(){ Val = 0 },
Type of bullet style-> new NumberingId(){ Val = 2 })),
new Run(
new Text("P 2"))//Text tou want to insert with bullet
){ RsidParagraphAddition = "00031711", RsidParagraphProperties = "00031711", RsidRunAdditionDefault = "00031711" };
return element;
}

}
}

Also remember the styles.xml file to attached with document. How to it given in previous post.

Open XML : SDK and tools

The SDk and tool is at following link :

Click Here

Open XML : Image Part in the Word document

To insert image in the word document. Use reflector tool which comes with Open Xml 2.0 SDk. it will make great help in generatin the code. For inserting a image use below steps:

1. Create a blanck word dcoument.
2. Copy paste the image(which you want to insert).
3. The go to DocumentReflectorTool.
4. Open this document in that tool. copy the image code.
5. Add following code to solution:
ImagePart imgPart = mainPart.AddImagePart(ImagePartType.Jpeg);
using (FileStream strem = new FileStream(@"C:\Bharat.JPG", FileMode.Open))
{
imgPart.FeedData(strem);
}
imagePartID = mainPart.GetIdOfPart(imgPart);
mainPart.AddExtendedPart ("http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", "media/image1.jpeg", imagePartID);
Paragraph ImageParagraph = new Paragraph();

body.Append(new Paragraph(new Run(GenerateDrawing())));

Copied code from reflector tool :

public static Drawing GenerateDrawing()
{
var element =
new Drawing(
new wp.Inline(
new wp.Extent(){ Cx = 536575L, Cy = 407670L },
new wp.EffectExtent(){ LeftEdge = 19050L, TopEdge = 0L, RightEdge = 0L, BottomEdge = 0L },
new wp.DocProperties(){ Id = (UInt32Value)1U, Name = "Picture 1", Description = "C:\\Bharat.JPG" },
new wp.NonVisualGraphicFrameDrawingProperties(
new a.GraphicFrameLocks(){ NoChangeAspect = true }),
new a.Graphic(
new a.GraphicData(
new pic.Picture(
new pic.NonVisualPictureProperties(
new pic.NonVisualDrawingProperties(){ Id = (UInt32Value)0U, Name = "Picture 1", Description = "C:\\Bharat.JPG" },
new pic.NonVisualPictureDrawingProperties(
new a.PictureLocks(){ NoChangeAspect = true, NoChangeArrowheads = true })),
new pic.BlipFill(
new a.Blip() { Embed = imagePartID, CompressionState = a.BlipCompressionValues.Print },
new a.SourceRectangle(),
new a.Stretch(
new a.FillRectangle())),
new pic.ShapeProperties(
new a.Transform2D(
new a.Offset(){ X = 0L, Y = 0L },
new a.Extents(){ Cx = 536575L, Cy = 407670L }),
new a.PresetGeometry(
new a.AdjustValueList()
){ Preset = a.ShapeTypeValues.Rectangle },
new a.NoFill(),
new a.Outline(
new a.NoFill(),
new a.Miter(){ Limit = 800000 },
new a.HeadEnd(),
new a.TailEnd()
){ Width = 9525 }
){ BlackWhiteMode = a.BlackWhiteModeValues.Auto })
){ Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture" })
){ DistanceFromTop = (UInt32Value)0U, DistanceFromBottom = (UInt32Value)0U, DistanceFromLeft = (UInt32Value)0U, DistanceFromRight = (UInt32Value)0U });
return element;
}

Open XML : Styles in the Word document

Styles are the important part of the word document. When we create paragraph or link or other component in the word document we have to set some styles on that components like Hyperlink,Heading1,23.. or Title etc.

For this we have to do some exercise like as follows :

1. Create a word documents
2. Insert all the styles like in image.


3. Save the document.
4. Rename the document(DocName.docx to DocName.zip)
5. Extract the document.
6. Go to DocName\Word folder


7. Copy the styles.xml and paste in the solution.
8. Write the below code to use in our solution

StyleDefinitionsPart styleDefinitionsPart = mainPart.AddNewPart();

//File Styles Uploading : Location of style c:\\styles.xml
FileStream stylesTemplate = new FileStream("c:\\styles.xml", FileMode.Open, FileAccess.Read);
styleDefinitionsPart.FeedData(stylesTemplate);
styleDefinitionsPart.Styles.Save();
9. When we want to append Heading 1 with our para then we can use like :

Paragraph AuthorPara = new Paragraph();
Run run = new Run();
Text TextLine = new Text("Created by: " + System.Environment.UserName);
run4.Append(TextLine);
AuthorPara.Append(new ParagraphProperties (new ParagraphStyleId (){Val="Heading1"}), run);

This is the way we can append styles to our created document.

Wednesday, July 15, 2009

Open XML : Adding Hyperlink to word document by WordProcessingML

To add hyperlink in the Microsoft word document. We have to write following code:

using (WordprocessingDocument WorDocument = WordprocessingDocument.Create(@"c:\Test.docx", WordprocessingDocumentType.Document))
{
// Add a new main document part.
MainDocumentPart mainPart = WorDocument.AddMainDocumentPart();
//Create Document tree for simple document.
mainPart.Document = new Document();
//Create Body (this element contains other elements that we want to include
Body body = new Body();

//Hyperlink to add
Paragraph HprPara = new Paragraph(
new Hyperlink(
new Run(
new RunProperties(
new RunStyleId(){ Val = "Hyperlink" }),
new Text("TestLink")
){ RsidRunProperties = "00356238" }
){ History = BooleanValues.One, Id = "rId4" }
){ RsidParagraphAddition = "00651E0C", RsidRunAdditionDefault = "00356238" };

//External realationship to make for hyperlink
ExternalRelationship exprRealationship = mainPart.AddExternalRelationship("http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", new Uri("http://www.google.com"), "rId4");

body.Append(HprPara);

mainPart.Document.Append(body);
// Save changes to the main document part.
mainPart.Document.Save();
}

Tuesday, July 14, 2009

Open XML : Working with WordProcessingML

To create word document from the open xml (packaging class) is quiet tedious job. MS provided a DocumentFormat.OpenXml assembly for Open XML work. This assembly provides object for Microsoft Word, Microsoft Excel, and Microsoft PowerPoint. It will make easy to developer to create word, excel or PowerPoint reports programmatically.

Add DocumentFormat.OpenXml assembly and start working on creation of the reports. This assembly is provided by the open xml SDK 2.0. It can be downloaded from the Microsoft download center.

The following references are used for creation of the word document from this assembly.

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

We can first start with simple adding text in the word document from the code. To add text in the word document add the assembly reference and then add above namespaces:

First create a paragraph object and set its properties like below

using (WordprocessingDocument WorDocument = WordprocessingDocument.Create(@"c:\Test.docx", WordprocessingDocumentType.Document))
{
// Add a new main document part.
MainDocumentPart mainPart = WorDocument.AddMainDocumentPart();
//Create Document tree for simple document.
mainPart.Document = new Document();
//Create Body (this element contains other elements that we want to include
Body body = new Body();

FontSize fontsize = new FontSize();
fontsize.Val = 38;
Color TextColor = new Color();
TextColor.Val = "4F81BD";
Bold boldFont = new Bold();
boldFont.Val = DocumentFormat.OpenXml.Wordprocessing.BooleanValues.On;


Paragraph AuthorPara = new Paragraph();
Run run = new Run();
Text TextLine = new Text("Created by: " + System.Environment.UserName);
run.Append(TextLine);
AuthorPara.Append(run);
RunProperties runProps = new RunProperties();
RunFonts runFonts = new RunFonts();
runFonts.Ascii = "Segoe UI";
runProps.Append(fontsize);
runProps.Append(runFonts);
runProps.Append(boldFont);
runProps.Append(TextColor);
run4.PrependChild(runProps);
body.Append(AuthorPara);

mainPart.Document.Append(body);
// Save changes to the main document part.
mainPart.Document.Save();
}

For creating table in the word document create table object and set properties as below

Table object and properties
Table table = new Table();
TableProperties tblPr = new TableProperties();
TableBorders tblBorders = new TableBorders();
TableWidth tblWidth = new TableWidth();


tblWidth.Width = 550;
tblBorders.TopBorder = new TopBorder();
tblBorders.TopBorder.Val = new EnumValue(BorderValues.BasicBlackDots);
tblBorders.BottomBorder = new BottomBorder();
tblBorders.BottomBorder.Val = new EnumValue(BorderValues.BasicBlackDots);
tblBorders.LeftBorder = new LeftBorder();
tblBorders.LeftBorder.Val = new EnumValue(BorderValues.BasicBlackDots);
tblBorders.RightBorder = new RightBorder();
tblBorders.RightBorder.Val = new EnumValue(BorderValues.BasicBlackDots);
tblBorders.InsideHorizontalBorder = new InsideHorizontalBorder();
tblBorders.InsideHorizontalBorder.Val = BorderValues.Single;
tblBorders.InsideVerticalBorder = new InsideVerticalBorder();
tblBorders.InsideVerticalBorder.Val = BorderValues.Single;
tblPr.Append(tblBorders);
table.Append(tblPr);
tblPr = new TableProperties();
tblPr.Append(tblWidth);

Create new table row and table cell

//Table Start
TableRow tr = new TableRow();
TableCell tc = new TableCell(AuthorPara);//Paragraph above
TableCellWidth tblCellWidth = new TableCellWidth();
tblCellWidth.Width = 600;
TableCellProperties tcp = new TableCellProperties();
GridSpan griedSpan = new GridSpan();
griedSpan.Val = 11;

tcp.Append(griedSpan);
tcp.Append(tblCellWidth);
tc.Append(tcp);

tr.Append(tc);
table.Append(tr);

In this way table can be created in the open xml using wordprocessingML

Thursday, July 9, 2009

Question Tips 4 !

Hi all,

The another list of question on SharePoint

1. What is SPServerUpdate?
A: Causes the server to save its state and propagate the changes to all computers in the server farm.
2. Fetching data from multiple list. How?
3. SPBatch some thing like that ?
4. Deployment of the Work flow and web parts.
5. What is web part?
6. What is workflow?
7. Imp : Flow of SharePoint?
8. What is SPSiteData Query?
A: Represents a query that can be performed across multiple lists in multiple Web sites in the same Web site collection.
9. What is defference between in Method and Activity?

Tuesday, July 7, 2009

Number of days calculation in InfoPath

For number of days calculation, total days and total number of working days. Do the following steps :

1. Design the form like below


2. Add the below code in the button events

public void WorkingDays_Clicked(object sender, ClickedEventArgs e)
{
int CalculateDays = 1;
XPathNavigator Main = MainDataSource.CreateNavigator();
DateTime startDate = DateTime.Parse(Main.SelectSingleNode("/my:myFields/my:StartDate",NamespaceManager).Value);

DateTime endDate = DateTime.Parse(Main.SelectSingleNode("/my:myFields/my:EndDate", NamespaceManager).Value);

TimeSpan span =endDate.Subtract(startDate);

for(int i= 1;i<=span.Days;i++)
{
startDate = startDate.AddDays(1);
if(startDate.DayOfWeek !=DayOfWeek.Sunday && startDate.DayOfWeek !=DayOfWeek.Saturday)
{
CalculateDays++;
}
}

Main.SelectSingleNode("/my:myFields/my:WorkingDays",NamespaceManager).SetValue(CalculateDays.ToString());
}

public void TotalDays_Clicked(object sender, ClickedEventArgs e)
{
int CalculateDays = 1;
XPathNavigator Main = MainDataSource.CreateNavigator();

DateTime startDate = DateTime.Parse(Main.SelectSingleNode("/my:myFields/my:StartDate", NamespaceManager).Value);

DateTime endDate = DateTime.Parse(Main.SelectSingleNode("/my:myFields/my:EndDate", NamespaceManager).Value);

TimeSpan span = endDate.Subtract(startDate);
for (int i = 1; i <= span.Days; i++)
{
startDate = startDate.AddDays(1);

CalculateDays++;
}

Main.SelectSingleNode("/my:myFields/my:TotalDays", NamespaceManager).SetValue(CalculateDays.ToString());
}

Friday, July 3, 2009

Using SPQuery in SharePoint object model

SPSite rootSite = new SPSite("http://mossvs2008");
SPWeb SubSite = rootSite.AllWebs["LeaveSite"];
string strTitleValue = string.Empty;
Console.WriteLine("Please enter Employee ID");

strTitleValue = Console.ReadLine();
SPList SPList = SubSite.Lists["Employee List"];
SPQuery query = new SPQuery();
query.Query = <Where><Eq<>FieldRef Name='Title' /><Value Type='Text'>"+strTitleValue+">/Value>>/Eq></Where>";>/

SPListItemCollection itemcol = SPList.GetItems(query);
string strTitle = string.Empty;
string strDesignation = string.Empty;
string strEmployeeName = string.Empty;

foreach (SPListItem item in itemcol)
{
strTitle = item["Title"].ToString();
strDesignation = item["Designation"].ToString();
strEmployeeName = item["Employee Name"].ToString();
}
Console.WriteLine("Employee ID.........");
Console.WriteLine(strTitle);
Console.WriteLine("Employee Designation.");
Console.WriteLine(strDesignation);
Console.WriteLine("Employee Name........");
Console.WriteLine(strEmployeeName);

Thursday, July 2, 2009

Change the Top Tool Bar color in FormServer.aspx page in SharePoint 2007

To change the color of the toolbar in the InfoPath formserver.aspx page in SharePoint2007 follow these steps:

1. Go to following location "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS".
2. Open the page "FormServer.aspx" in notepad.
3. Write the tag of scripting below page directive and copy paste this below script


//function changeColor()
//{
//document.getElementById("__toolbar_top").style.backgroundColor = "#E96A37";
//}


4. Call this function in the body OnLoad event tage of the page.

body OnLoad="javascript:changeColor()" style="margin: 0px;overflow:auto;"


5. The resultant change in the page



We have to adopt this approach because there is no css class is attached with this div. Inline styles are written instead of CSS Class.

To Show Submit Confirmation Message Box in Web Based InfoPath 2007

Pop up a message box using managed code(c#) in VSTA for a Browser-enabled infopath form,there is no proper solution. But for form submit we can show confirmation message box in InfoPath when form is submitted.

Follow below steps:
1. Design a form Blank or by template.

2. Drag a Button on form "Submit".
3. Goto Prperties of the button and change the action Rules and Code to Submit


4. Click on Submit Options button


5. Click on Allow users to submit form



6. Click on Perform Custom Action using Code



7. Click on Show the Submit menu item....



8. Click on Advance>> button



9. Click on Success and failure messgae



10. Click on Cutom messages



11. Write your custom messages and select After Submit drop down like Close the form




12. Click on Edit Code, it will take to submit button event.



The Message box looks lik as in image

Turn Off / Turn On "Powered by: InfoPath Forms Services "

MOSS web based InfoPath forms are hosted in a web page and shows Powered by : InfoPath Forms Services, logo.

stsadm -o setformsserviceproperty -pn AllowBranding -pv false

stsadm -o setformsserviceproperty -pn AllowBranding -pv true

and other method is goto following location "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\INC" and open the following CSS "ifsmain.css" and goto last of CSS

.BrandingText
{
border-top:1px solid #666666; padding-top:5px; padding-bottom:0px; padding-left:1px; padding-right:1px; text-decoration:none;
font-family:Tahoma;
font-size:8pt;
margin-top:0px; color:#666666;
}
.ToolbarBranding
{
text-decoration:none;color:#666666; white-space:nowrap;unicode-bidi:embed;cursor:default;
font-family:tahoma;
font-size:8pt;
}


Replace above with following

.BrandingText
{
border-top:1px solid #666666; padding-top:5px; padding-bottom:0px; padding- left:1px; padding-right:1px; text-decoration:none;
font-family:Tahoma;
font-size:8pt;
margin-top:0px; color:#666666;
display:none;
}

.ToolbarBranding
{
text-decoration:none;color:#666666; white-space:nowrap;unicode-bidi:embed;cursor:default;
font-family:tahoma;
font-size:8pt;
display:none;
}