#region Open xlsx file.
Microsoft.Office.Interop.Excel.Application excel = new Application();
Workbook workBook = excel.Workbooks.Open(FileLocation);
Workbook myBook = excel.Workbooks[1];
Microsoft.Office.Interop.Excel._Worksheet workSheet;
#endregion
#region Set Active Sheet 1
workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range wsCell = workSheet.Cells;
#endregion
//Insert Image
protected void insImg(string Rag, string fileLocation, object wkst, int width, int height)
{
float left, top;
left = Convert.ToSingle(((Worksheet)wkst).get_Range(Rag).Left);
top = Convert.ToSingle(((Worksheet)wkst).get_Range(Rag).Top);
((Worksheet)wkst).Shapes.AddPicture(fileLocation, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, width, height);
}//指定Range
protected void insImg(string fileLocation, object wkst, object wcell, float left, float top, int width, int height)
{
((Worksheet)wkst).Shapes.AddPicture(fileLocation, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, width, height);
}//指定特定位置
//Embed Files
protected void insItem(string Rag, string fileLocation, object wkst, object Left, object Top)
{
OLEObjects oleObjects1 = (Microsoft.Office.Interop.Excel.OLEObjects)((Worksheet)wkst).OLEObjects(Type.Missing);
((Worksheet)wkst).get_Range(Rag, Rag).Select();
oleObjects1.Add(
Type.Missing, // ClassType
@fileLocation, // Filename
false, // Link
true, // DisplayAsIcon
Type.Missing, // IconFileName
Type.Missing, // IconIndex
Type.Missing, // IconLabel
Left, // Left
Top, // Top
Type.Missing, // Width
Type.Missing // Height
);
}//指定Range
protected void insItem(string fileLocation, object wkst, object wcell, object Left, object Top)
{
OLEObjects oleObjects1 = (Microsoft.Office.Interop.Excel.OLEObjects)((Worksheet)wkst).OLEObjects(Type.Missing);
((Worksheet)wkst).get_Range((Microsoft.Office.Interop.Excel.Range)wcell, (Microsoft.Office.Interop.Excel.Range)wcell).Select();
oleObjects1.Add(
Type.Missing, // ClassType
@fileLocation, // Filename
false, // Link
true, // DisplayAsIcon
Type.Missing, // IconFileName
Type.Missing, // IconIndex
Type.Missing, // IconLabel
Left, // Left
Top, // Top
Type.Missing, // Width
Type.Missing // Height
);
}//指定特定位置
#region Release & Kill Process
//Release
RLS(workSheet);
if (workBook != null) workBook.Close(false, Type.Missing, Type.Missing);
RLS(workBook);
if (excel != null) excel.Quit();
RLS(excel);
//Kill Process EXCEL.EXE
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
{
if (p.ProcessName.ToUpper() == "EXCEL")
p.Kill();
}
#endregion
private void RLS(Object o)
{
try { System.Runtime.InteropServices.Marshal.ReleaseComObject(o); }
catch { }
finally { o = null; }
}
沒有留言:
張貼留言