本文整理汇总了C#中Microsoft.Office.Interop.Excel.Close方法的典型用法代码示例。如果您正苦于以下问题:C# Microsoft.Office.Interop.Excel.Close方法的具体用法?C# Microsoft.Office.Interop.Excel.Close怎么用?C# Microsoft.Office.Interop.Excel.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Office.Interop.Excel
的用法示例。
在下文中一共展示了Microsoft.Office.Interop.Excel.Close方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CloseExcel
// closes Excel
public static void CloseExcel(Excel.Application xlApp, Excel.Workbook wb)
{
// Close Excel
object misValue = System.Reflection.Missing.Value;
wb.Close(false, misValue, misValue);
xlApp.Quit();
}
示例2: ReleaseExcel
protected void ReleaseExcel(ref MSOffice.Application excelApp, ref MSOffice.Workbook excelBook, ref MSOffice.Worksheet excelSheet)
{
try
{
excelBook.Close(false, null, null);
excelApp.Quit();
GC.Collect();
IntPtr ptr = new IntPtr(excelApp.Hwnd);
int pid = 0;
GetWindowThreadProcessId(ptr, out pid);
System.Diagnostics.Process proc = System.Diagnostics.Process.GetProcessById(pid);
System.Runtime.InteropServices.Marshal.ReleaseComObject((object)excelApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject((object)excelBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject((object)excelSheet);
excelApp = null;
excelBook = null;
excelSheet = null;
//最后尝试结束进程,出错表示已销毁
try
{ proc.Kill(); }
catch (Exception) { }
}
catch (Exception ex)
{
throw ex;
}
}
示例3: Dispose
/// <summary>
/// 释放内存
/// </summary>
public void Dispose(Excel._Worksheet CurSheet, Excel._Workbook CurBook, Excel._Application CurExcel)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(CurSheet);
CurSheet = null;
CurBook.Close(false, mValue, mValue);
System.Runtime.InteropServices.Marshal.ReleaseComObject(CurBook);
CurBook = null;
CurExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(CurExcel);
CurExcel = null;
GC.Collect();
GC.WaitForPendingFinalizers();
}
catch (System.Exception)
{
// Response.Write("在释放Excel内存空间时发生了一个错误:" + ex);
}
finally
{
foreach (System.Diagnostics.Process pro in System.Diagnostics.Process.GetProcessesByName("Excel"))
//if (pro.StartTime < DateTime.Now)
pro.Kill();
}
System.GC.SuppressFinalize(this);
}
示例4: CloseBook
public void CloseBook(Excel.Workbook book, bool save)
{
Log.Info(LoggerConstants.ENTER);
if (book == null)
{
Log.Warn(LoggerConstants.BAD_VALIDATION);
Log.Info(LoggerConstants.EXIT);
return;
}
try
{
Log.Info("Book name is `" + book.Name + "`");
if (save)
book.Save();
book.Close();
}
catch (COMException e)
{
Log.Warn("COMException with closing `" + book.Name + "`", e);
}
catch (Exception e)
{
Log.Warn("Exception with closing `" + book.Name + "`", e);
}
Log.Info(LoggerConstants.EXIT);
}
示例5: CloseAndReleaseExcelObjects
private static void CloseAndReleaseExcelObjects(Excel.Application xlApp, Excel.Workbook xlworkBook, Excel.Worksheet xlWorksheet)
{
xlworkBook.Close(false, null, null);
xlApp.Quit();
ReleaseObject(xlWorksheet);
ReleaseObject(xlworkBook);
ReleaseObject(xlApp);
}
示例6: ExcelDispose
/// <summary>
/// 저장및 메모리 해제
/// </summary>
/// <param name="excelApp"></param>
/// <param name="wb"></param>
/// <param name="workSheet"></param>
public static void ExcelDispose(Excel.Application excelApp, Excel.Workbook wb, Excel._Worksheet workSheet)
{
wb.SaveAs(@"C:\users\user\Desktop\수강신청시간표", Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wb.Close(Type.Missing, Type.Missing, Type.Missing);
excelApp.Quit();
releaseObject(excelApp);
releaseObject(workSheet);
releaseObject(wb);
}
示例7: CloseWorkingWorkbook
public static void CloseWorkingWorkbook(Excel.Workbook workbook)
{
if (workbook != null)
{
if (!workbook.Saved)
workbook.Save();
workbook.Close();
ExcelUtilies.ReleaseComObject(workbook);
}
}
示例8: SaveExcel
public static void SaveExcel(string filePath, Excel.Workbook workbook)
{
try
{
object misValue = System.Reflection.Missing.Value;
workbook.SaveAs(filePath, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
workbook.Close(true, misValue, misValue);
}
catch (Exception ex)
{
throw ex;
}
}
示例9: closeWorkBook
public static void closeWorkBook(Excel.Workbook wb)
{
wb.Close(false, Type.Missing, Type.Missing);
}
示例10: PrintFpcLotCard
//.........这里部分代码省略.........
case "只打印单元图":
//显示状态
dgvRow.Cells["print_msg"].Value = "正在打印单元图...";
//各列列宽
dgvList.AutoResizeColumns();
//显示
Application.DoEvents();
//打印单体图
xlSheet.PrintOut(From: 2, To: 2, Copies: 1, Collate: true);
break;
}
//打印辅料卡
switch (cboPrintSettings.Text.Trim())
{
case "只打印批量卡和cov卡":
case "打印批量卡和cov卡以及单元图":
//之前已经累加存入数量
int iTotalPnlQty = 0;
//检测是否已经打印过辅料卡
if (!_dicProductNums.ContainsKey(productNum))
{
//添加到已经打印过的生产编号清单中
_dicProductNums.Add(productNum, Convert.ToInt32(row["pnl_qty"]));
}
else
{
//获取数量
_dicProductNums.TryGetValue(productNum, out iTotalPnlQty);
//检测数量
if (iTotalPnlQty >= iMaxPnlQty)
{
//总数量置0
iTotalPnlQty = 0;
}
//累加已经打印过的生产编号的数量
_dicProductNums[productNum] = iTotalPnlQty + Convert.ToInt32(row["pnl_qty"]);
}
//总数量为0则需要打印辅料卡
if (iTotalPnlQty == 0 && xlBook.Worksheets.Count > 1)
{
//取第二张表
var xlSheet2 = (Excel.Worksheet)xlBook.Worksheets[2];
//显示状态
dgvRow.Cells["print_msg"].Value = "正在打印cov卡...";
//各列列宽
dgvList.AutoResizeColumns();
//显示
Application.DoEvents();
//设置为最多两页高
xlSheet2.PageSetup.FitToPagesWide = 1;
xlSheet2.PageSetup.FitToPagesTall = 2;
//打印辅料卡
try
{
xlSheet2.PrintOut(From: 1, To: 1, Copies: 1, Collate: true);
xlSheet2.PrintOut(From: 2, To: 2, Copies: 1, Collate: true);
}
catch { }
//注销excel相关对象
xlSheet2 = null;
}
//退出
break;
}
//关闭工作表
xlBook.Close(SaveChanges: false);
//删除生成的图片文件
if (File.Exists(imgName))
{
File.Delete(imgName);
}
//返回成功
//不打印只保存批量卡
//不打印只保存批量卡和cov卡
//不打印只保存单元图
//不打印保存批量卡和cov卡以及单元图
//只打印批量卡
//只打印批量卡和cov卡
//只打印单元图
//打印批量卡和cov卡以及单元图
//打印
switch (cboPrintSettings.Text.Trim())
{
case "不打印只保存批量卡":
case "不打印只保存批量卡和cov卡":
case "不打印只保存单元图":
case "不打印保存批量卡和cov卡以及单元图":
dgvRow.Cells["print_msg"].Value = "保存成功!";
//退出
break;
default:
dgvRow.Cells["print_msg"].Value = "打印成功!";
//退出
break;
}
//注销excel相关对象
xlSheet = null;
}
示例11: CloseWB
public static void CloseWB(Excel.Workbook xlWb)
{
xlWb.Close(false, false, System.Type.Missing);
}
示例12: ExcelQuit
/// <summary>
/// Close Excel workbook, quit excel and wait until finished
/// </summary>
/// <param name="app">Excel handle to quit</param>
/// <param name="wb">Excel workbook to close</param>
private static void ExcelQuit(Excel.Application app, Excel.Workbook wb)
{
wb.Close(SaveChanges: false);
app.Quit();
while (Marshal.ReleaseComObject(app) != 0)
{
}
app = null;
GC.Collect();
GC.WaitForPendingFinalizers();
}
示例13: CloseWorkbook
public static void CloseWorkbook(Excel.Workbook workbook)
{
workbook.Saved = true; // disable any prompts to save the data
workbook.Close();
_openWorkbooks.Remove(workbook);
}
示例14: SaveTempWorkbook
public static void SaveTempWorkbook(Excel.Workbook tempWorkbook)
{
if (tempWorkbook != null)
{
//string folder = System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Remove(System.Reflection.Assembly.GetExecutingAssembly().CodeBase.LastIndexOf("/"));
//folder = folder.Replace(@"file:///", "");
//if (!Directory.Exists(folder + "/temp"))
// Directory.CreateDirectory(folder + "/temp");
//tempWorkbook.SaveAs(folder + "/temp/book1.xls");
tempWorkbook.SaveAs("book1.xls");
string fullname = tempWorkbook.FullName;
tempWorkbook.Close();
if (File.Exists(fullname))
File.Delete(fullname);
ExcelUtilies.ReleaseComObject(tempWorkbook);
}
}
示例15: SaveExcel
private void SaveExcel(string file, MSExcel.Application excel, MSExcel.Workbook wbook)
{
try
{
File.Delete(file);
}
catch //(Exception ex)
{
wbook.Close(false);
excel.Quit();
return;
}
try
{
wbook.SaveAs(file, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, MSExcel.XlSaveAsAccessMode.xlExclusive);
}
catch//(Exception ex)
{
}
wbook.Close(false);
excel.Quit();
}