编写excel数据处理程序,Java、C# 都可以。

编写excel数据处理程序,Java、C# 都可以。,第1张

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10209419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存