
Шустрый

Профиль
Группа: Участник
Сообщений: 147
Регистрация: 16.3.2007
Где: СПб
Репутация: нет Всего: нет
|
У самого возникла проблема с совместимостью 2003 и 2007 EXCEL, решение в позднем связывании. Вот класс взятый от сюда , я его немного дописал, выкладываю вдруг кому нибудь пригодиться.... Код | namespace Excel {
/// <summary> /// Summary description for XlInsertShiftDirection /// </summary> public class XlBorderWeight { public const int xlMPun = 1;//мелкий пунктир public const int xlThin = 2;//сплошная public const int xlRPun = 3;//разреженный пунктир public const int xlLTL = 4;// -.-.- public const int xlLTTL = 5;//-..-..- }
/// <summary> /// Summary description for XlInsertShiftDirection /// </summary> public class XlBordersStyle { public const int xlEdgeLeft = 7; public const int xlEdgeTop = 8; public const int xlEdgeBottom = 9; public const int xlEdgeRight = 10; }
/// <summary> /// Summary description for XlInsertShiftDirection /// </summary> public class XlLineStyle { public const int xlContinuous = 1; public const int xlNone = -4142; }
/// <summary> /// Summary description for XlInsertShiftDirection /// </summary> public class XlInsertShiftDirection { public const int xlShiftDown = -4121; public const int xlToRight = -4161;
}
/// <summary> /// Summary description for Constants /// </summary> public class Constants { public const int xlCenter = -4108; public const int xlRight = -4152; public const int xlLeft = -4131; public const int xlBottom = -4107; public const int xlAutomatic = -4105; public const int xlGeneral = 1; }
/// <summary> /// Summary description for ApplicationExcel /// </summary> public class ApplicationExcel { private object application;
public bool Visible { get { return Convert.ToBoolean(application.GetType().InvokeMember("Visible", BindingFlags.GetProperty, null, application, null)); } set { application.GetType().InvokeMember("Visible", BindingFlags.SetProperty, null, application, new object[] { value }); } }
public void Quit() { application.GetType().InvokeMember("Quit", BindingFlags.InvokeMethod, null, application, null); Marshal.ReleaseComObject(application); GC.GetTotalMemory(true); }
public Workbooks Workbooks { get { return new Workbooks(application.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, application, null)); } }
public object DecimalSeparator { get { return application.GetType().InvokeMember("DecimalSeparator", BindingFlags.GetProperty, null, application, null); } set { application.GetType().InvokeMember("DecimalSeparator", BindingFlags.SetProperty, null, application, new object[] { value }); } }
public object ThousandsSeparator { get { return application.GetType().InvokeMember("ThousandsSeparator", BindingFlags.GetProperty, null, application, null); } set { application.GetType().InvokeMember("ThousandsSeparator", BindingFlags.SetProperty, null, application, new object[] { value }); } }
public object UseSystemSeparators { get { return application.GetType().InvokeMember("UseSystemSeparators", BindingFlags.GetProperty, null, application, null); } set { application.GetType().InvokeMember("UseSystemSeparators", BindingFlags.SetProperty, null, application, new object[] { value }); } }
public ApplicationExcel() { string sAppProgID = "Excel.Application"; Type tExcelObj = Type.GetTypeFromProgID(sAppProgID); application = Activator.CreateInstance(tExcelObj); } }
/// <summary> /// Summary description for Workbooks /// </summary> public class Workbooks { private object workbooks;
public Workbook Add() { return new Workbook(workbooks.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, workbooks, null)); }
public Workbook Open(string fileName) { return new Workbook(workbooks.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, workbooks, new object[] { fileName })); }
public void Close() { workbooks.GetType().InvokeMember("Close", BindingFlags.InvokeMethod, null, workbooks, null); Marshal.ReleaseComObject(workbooks); GC.GetTotalMemory(true); }
public Workbooks(object _workbooks) { workbooks = _workbooks; } }
/// <summary> /// Summary description for Workbook /// </summary> public class Workbook { private object workbook;
public void Save() { workbook.GetType().InvokeMember("SaveAs", BindingFlags.InvokeMethod, null, workbook, null); }
public void SaveAs(string fileName) { workbook.GetType().InvokeMember("SaveAs", BindingFlags.InvokeMethod, null, workbook, new object[] { fileName }); }
public void Close() { workbook.GetType().InvokeMember("Close", BindingFlags.InvokeMethod, null, workbook, null); Marshal.ReleaseComObject(workbook); GC.GetTotalMemory(true); }
public Worksheets Worksheets { get { return new Worksheets(workbook.GetType().InvokeMember("Worksheets", BindingFlags.GetProperty, null, workbook, null)); } }
public Workbook(object _workbook) { workbook = _workbook; } }
/// <summary> /// Summary description for Worksheets /// </summary> public class Worksheets { private object worksheets;
public Worksheet get_Worksheet(int index) { return new Worksheet(worksheets.GetType().InvokeMember("Item", BindingFlags.GetProperty, null, worksheets, new object[] { index })); }
public int Count { get { return ((int)worksheets.GetType().InvokeMember("Count", BindingFlags.GetProperty, null, worksheets, null)); } set { worksheets.GetType().InvokeMember("Count", BindingFlags.SetProperty, null, worksheets, new object[] { value }); } }
public Worksheets(object _worksheets) { worksheets = _worksheets; } }
/// <summary> /// Summary description for Worksheet /// </summary> public class Worksheet { private object worksheet; public Range get_Range(string range) { return new Range(worksheet.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, worksheet, new object[] { range })); }
public Range Rows(string Value) { return new Range(worksheet.GetType().InvokeMember("Rows", BindingFlags.GetProperty, null, worksheet, new object[] { Value })); }
public Range get_Range(string range1, string range2) { object[] Parameters; Parameters = new Object[2]; Parameters[0] = range1; Parameters[1] = range2; Range range = new Range(worksheet.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, worksheet, Parameters)); Parameters = new Object[1]; Parameters[0] = true; range.GetType().InvokeMember("MergeCells", BindingFlags.SetProperty, null, range, Parameters);
return range; }
public Range Cells(int Row, int Colomn) { object[] Parameters = new Object[2];
Parameters[0] = Row; Parameters[1] = Colomn; return new Range(worksheet.GetType().InvokeMember("Cells", BindingFlags.GetProperty, null, worksheet, Parameters)); } public void Cells_SetValue(int Row, int Colomn, string Value) { object[] Parameters = new Object[2];
Parameters[0] = Row; Parameters[1] = Colomn; Range range_Cells_SetValue; range_Cells_SetValue = new Range(worksheet.GetType().InvokeMember("Cells", BindingFlags.GetProperty, null, worksheet, Parameters)); Parameters = new Object[1]; Parameters[0] = Value; range_Cells_SetValue.GetType().InvokeMember("Value2", BindingFlags.SetProperty, null, range_Cells_SetValue, Parameters); }
public Worksheet(object _worksheet) { worksheet = _worksheet; } }
/// <summary> /// Summary description for Range /// </summary> public class Range { public static object range;
public void HorizontalAlignment(int side) { range.GetType().InvokeMember("HorizontalAlignment", BindingFlags.SetProperty, null, range, new object[] { side }); }
public void BordersLineStyle(int bordersStyle, int lineStyle1)//range1.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; { object borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { bordersStyle }); borders.GetType().InvokeMember("LineStyle", BindingFlags.SetProperty, null, borders, new object[] { lineStyle1 }); }
public void BordersLineStyle(int lineStyle1) { object borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 7 }); borders.GetType().InvokeMember("LineStyle", BindingFlags.SetProperty, null, borders, new object[] { lineStyle1 }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 8 }); borders.GetType().InvokeMember("LineStyle", BindingFlags.SetProperty, null, borders, new object[] { lineStyle1 }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 9 }); borders.GetType().InvokeMember("LineStyle", BindingFlags.SetProperty, null, borders, new object[] { lineStyle1 }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 10 }); borders.GetType().InvokeMember("LineStyle", BindingFlags.SetProperty, null, borders, new object[] { lineStyle1 }); }
public void BordersWeight(int bordersStyle, int weight)//range1.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; { object borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { bordersStyle }); borders.GetType().InvokeMember("Weight", BindingFlags.SetProperty, null, borders, new object[] { weight }); }
public void BordersWeight(int weight) { object borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 7 }); borders.GetType().InvokeMember("Weight", BindingFlags.SetProperty, null, borders, new object[] { weight }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 8 }); borders.GetType().InvokeMember("Weight", BindingFlags.SetProperty, null, borders, new object[] { weight }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 9 }); borders.GetType().InvokeMember("Weight", BindingFlags.SetProperty, null, borders, new object[] { weight }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 10 }); borders.GetType().InvokeMember("Weight", BindingFlags.SetProperty, null, borders, new object[] { weight }); }
public void BordersColorIndex(int bordersStyle, int ColorIndex) { object borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { bordersStyle }); borders.GetType().InvokeMember("ColorIndex", BindingFlags.SetProperty, null, borders, new object[] { ColorIndex }); }
public void BordersColorIndex(int ColorIndex) { object borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 7 }); borders.GetType().InvokeMember("ColorIndex", BindingFlags.SetProperty, null, borders, new object[] { ColorIndex }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 8 }); borders.GetType().InvokeMember("ColorIndex", BindingFlags.SetProperty, null, borders, new object[] { ColorIndex }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 9 }); borders.GetType().InvokeMember("ColorIndex", BindingFlags.SetProperty, null, borders, new object[] { ColorIndex }); borders = range.GetType().InvokeMember("Borders", BindingFlags.GetProperty, null, range, new object[] { 10 }); borders.GetType().InvokeMember("ColorIndex", BindingFlags.SetProperty, null, borders, new object[] { ColorIndex }); }
public void VerticalAlignment(int side) { range.GetType().InvokeMember("VerticalAlignment", BindingFlags.SetProperty, null, range, new object[] { side }); }
public object Value2 { get { return range.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object Rows { get { return range.GetType().InvokeMember("Rows", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("Rows", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object MergeCells { get { return range.GetType().InvokeMember("MergeCells", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("MergeCells", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object Orientation { get { return range.GetType().InvokeMember("Orientation", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("Orientation", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object AddIndent { get { return range.GetType().InvokeMember("AddIndent", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("AddIndent", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object WrapText { get { return range.GetType().InvokeMember("WrapText", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("WrapText", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object IndentLevel { get { return range.GetType().InvokeMember("IndentLevel", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("IndentLevel", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object ShrinkToFit { get { return range.GetType().InvokeMember("ShrinkToFit", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("ShrinkToFit", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object Text { get { return range.GetType().InvokeMember("Text", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("Text", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object Formula { get { return range.GetType().InvokeMember("Formula", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("Formula", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public object NumberFormat { get { return range.GetType().InvokeMember("NumberFormat", BindingFlags.GetProperty, null, range, null); } set { range.GetType().InvokeMember("NumberFormat", BindingFlags.SetProperty, null, range, new object[] { value }); } }
public void Insert(int Index) { object[] Parameters = new Object[1];
Parameters[0] = Index;
range.GetType().InvokeMember("Insert", BindingFlags.GetProperty, null, range, Parameters); }
public Range(object _range) { range = _range; } } }
|
|