using System;
using SystemData;
using SystemConfiguration;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemWebUIHtmlControls;
using Excel = MicrosoftOfficeInteropExcel;
//
/// <summary>
/// InsertPictureToExcel 的摘要说明
/// </summary>
public class InsertPictureToExcel
{
private ExcelApplication m_objExcel = null;
private ExcelWorkbooks m_objBooks = null;
private Excel_Workbook m_objBook = null;
private ExcelSheets m_objSheets = null;
private Excel_Worksheet m_objSheet = null;
private ExcelRange m_objRange = null;
private object m_objOpt = SystemReflectionMissingValue;
//
/// <summary>
/// 打开没有模板的 *** 作。
/// </summary>
public void Open()
{
thisOpen(StringEmpty);
}
//
/// <summary>
/// 功能:实现Excel应用程序的打开
/// </summary>
/// <param name="TemplateFilePath">模板文件物理路径</param>
public void Open(string TemplateFilePath)
{
//打开对象
m_objExcel = new ExcelApplication();
m_objExcelVisible = false;
m_objExcelDisplayAlerts = false;
if (m_objExcelVersion != "110")
{
//MessageBoxShow("您的 Excel 版本不是 110 (Office 2003), *** 作可能会出现问题。");
m_objExcelQuit();
return;
}
m_objBooks = (ExcelWorkbooks)m_objExcelWorkbooks;
if (TemplateFilePathEquals(StringEmpty))
{
m_objBook = (Excel_Workbook)(m_objBooksAdd(m_objOpt));
}
else
{
m_objBook = m_objBooksOpen(TemplateFilePath, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
}
m_objSheets = (ExcelSheets)m_objBookWorksheets;
m_objSheet = (Excel_Worksheet)(m_objSheetsget_Item(1));
m_objExcelWorkbookBeforeClose += new ExcelAppEvents_WorkbookBeforeCloseEventHandler(m_objExcel_WorkbookBeforeClose);
}
private void m_objExcel_WorkbookBeforeClose(ExcelWorkbook m_objBooks, ref bool _Cancel)
{
//MessageBoxShow("保存完毕!");
}
//
/// <summary>
/// 将插入到指定的单元格位置。
/// 注意:必须是绝对物理路径
/// </summary>
/// <param name="RangeName">单元格名称,例如:B4</param>
/// <param name="PicturePath">要插入的绝对路径。</param>
public void InsertPicture(string RangeName, string PicturePath)
{
m_objRange = m_objSheetget_Range(RangeName, m_objOpt);
m_objRangeSelect();
ExcelPictures pics = (ExcelPictures)m_objSheetPictures(m_objOpt);
picsInsert(PicturePath, m_objOpt);
}
//
/// <summary>
/// 将插入到指定的单元格位置,并设置的宽度和高度。
/// 注意:必须是绝对物理路径
/// </summary>
/// <param name="RangeName">单元格名称,例如:B4</param>
/// <param name="PicturePath">要插入的绝对路径。</param>
/// <param name="PictuteWidth">插入后,在Excel中显示的宽度。</param>
/// <param name="PictureHeight">插入后,在Excel中显示的高度。</param>
public void InsertPicture(string RangeName, string PicturePath, float PictuteWidth, float PictureHeight)
{
m_objRange = m_objSheetget_Range(RangeName, m_objOpt);
m_objRangeSelect();
float PicLeft, PicTop;
PicLeft = ConvertToSingle(m_objRangeLeft);
PicTop = ConvertToSingle(m_objRangeTop);
m_objSheetShapesAddPicture(PicturePath, MicrosoftOfficeCoreMsoTriStatemsoFalse,
MicrosoftOfficeCoreMsoTriStatemsoTrue, PicLeft, PicTop, PictuteWidth, PictureHeight);
}
//
/// <summary>
/// 将Excel文件保存到指定的目录,目录必须事先存在,文件名称不一定要存在。
/// </summary>
/// <param name="OutputFilePath">要保存成的文件的全路径。</param>
public void SaveFile(string OutputFilePath)
{
m_objBookSaveAs(OutputFilePath, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, ExcelXlSaveAsAccessModexlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
thisClose();
}
//
/// <summary>
/// 关闭应用程序
/// </summary>
private void Close()
{
m_objBookClose(false, m_objOpt, m_objOpt);
m_objExcelQuit();
}
//
/// <summary>
/// 释放所引用的COM对象。注意:这个过程一定要执行。
/// </summary>
public void Dispose()
{
ReleaseObj(m_objSheets);
ReleaseObj(m_objBook);
ReleaseObj(m_objBooks);
ReleaseObj(m_objExcel);
SystemGCCollect();
SystemGCWaitForPendingFinalizers();
}
//
/// <summary>
/// 释放对象,内部调用
/// </summary>
/// <param name="o"></param>
private void ReleaseObj(object o)
{
try
{
SystemRuntimeInteropServicesMarshalReleaseComObject(o);
}
catch { }
finally { o = null; }
}
}
1、转换格式法就是将受损的Excel XP工作簿另存格式选为SYLK。如果可以打开受损文件,只是不能进行各种编辑和打印 *** 作,那么建议首先尝试这种方法。2、直接修复法最新版本的Excel XP在“打开”窗口的“打开”按钮内有直接修复受损文件的“打开并修复”功能,这种方法适用于常规方法无法打开受损文件的情况。3、偷梁换柱法遇到无法打开受损的Excel XP文件时,也可以尝试使用Word来打开它。 *** 作如下:(1)运行Word程序,选择需要打开的Excel文件;(2)如是首次运用Word程序打开Excel XP文件,可能会有“Microsoft Word无法导入指定的格式。这项功能目前尚未安装,是否现在安装?”的提示信息,此时可插入Microsoft Office安装盘进行安装;(3)按照Word程序的提示选择修复整个工作簿还是某个工作表;(4)先将文件中被损坏的数据删除,再将鼠标移动到表格中,并在菜单栏中依次执行“表格→转换→表格转换成文字”命令,选择制表符为文字分隔符,将表格内容转为文本内容,然后另存为纯文本格式文件;(5)运行Excel XP程序,打开刚保存的文本文件;(6)随后根据“文本导入向导”的提示就能顺利打开该文件了。
修复后的工作表与原工作表基本一样,不同的是表格中所有的公式都需重新设置,还有部分文字、数字格式丢失了。4、自动修复法
此法适用于Excel XP程序运行出现故障关闭程序或断电导致的文件受损。重新运行Excel XP,它会自动d出“文档恢复”窗口,并在该窗口中列出已自动恢复的所有文件。用鼠标选择要保留的文件,并单击指定文件名旁的箭头,根据需要选择“打开”、“另存为”、“显示修复”。
在缺省状态下Excel XP是不会启用自动修复功能的,因此预先设置:首先在菜单栏中依次点击“工具→选项”命令,在设置框中单击“保存”标签,将“禁用自动恢复”复选框取消,然后选中“保存自动恢复信息,每隔X分钟”复选项,并输入指定的间隔频率,最后点击“确定”完成设置。
如果还没有自动d出“文档恢复”窗口,可以尝试用手工的方法打开自动恢复的文件:依次执行“文件→打开”命令,利用“查找范围”框定位并打开Excel XP保存自动恢复文件的文件夹,要是不知道那个文件夹的位置,可以查看“自动恢复文件保存位置”框中的路径,接着在“文件类型”选择对话框中,选中“所有文件()”选项,并选择要恢复的文件,最后单击“打开”按钮,打开文件进行自动修复。5、工具修复法
如果上面的几种方法都不能修复文件,还可以借助专门用来修复受损Excel XP文件的“ExcelRecovery”。该软件会自动将修复程序加到Excel软件中,表现为在“文件”菜单下增添一项“Recovery”命令,它能自动以修复方式打开受损文件。
1 java读excel文件需要引入 jxl包
使用很简单 比如以下是读特定excel文件的给定行列值
InputStream is=new FileInputStream(new File("文件名"));
//声名一个工作薄
Workbook rwb = WorkbookgetWorkbook(is);
//在Excel文档中,获取某个sheet
Sheet st = rwbgetSheet("Sheet1");
//这样可以获得那个cell的内容
String value =stgetCell(row, col)getContents();
2 我估计你所谓的行政区域代码的规则是这样的
120000 是120020的上级
120020 是120021的上级
这种情况下的话,你可以通过取字符的前几位,并且非零位,来实现查找上级结点。
比如 要查询的是120021 你可以知道他的上级是120020 然后又能知道他的上级市120000 他的上级是100000 依次可以查到所有
以上就是关于编写excel数据处理程序,Java、C# 都可以。全部的内容,包括:编写excel数据处理程序,Java、C# 都可以。、java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,、java excel等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)