标签: import-from-excel

导入和导出Excel - 什么是最好的库?

在C#中的一个ASP.NET应用程序中,我们采用某种数据集合(SubSonic集合)并将其导出到Excel.我们还想以特定格式导入Excel文件.我正在寻找一个可以用于此目的的库.

要求:

  • Excel 2007文件(Excel 2003是否支持超过64k行?我需要更多.)
  • 在服务器上不需要Excel
  • 采用类型化集合,如果可以,则尝试将数字字段作为数字放入Excel中.
  • 适用于大文件(100k到10M) - 足够快.
  • 导出GUID时不会崩溃!
  • 不花钱(不像aspose这样的企业库).免费总是很棒,但可以是商业图书馆.

你推荐什么图书馆?您是否将它用于大量数据?还有其他解决方案吗?

现在,我正在使用一个简单的工具来生成稍后由Excel加载的HTML,但是我正在丢失一些功能,加上Excel在我们加载它时会抱怨.我不需要生成图表或类似的东西,只需导出原始数据.

我在想平坦的CSV文件,但Excel是客户的要求.如果我有一个工具可以转换为Excel,我可以直接使用CSV.鉴于Excel 2007是一种基于xml(和压缩)的文件格式,我猜这种库应该很容易找到.但是,对我来说最重要的是你的意见和看法.


编辑:具有讽刺意味的是,在我看来,并以最多的票数回答,最好的Excel导入和导出库根本没有出口.对于所有情况都不是这种情况,但它适用于我的情况.XLS文件仅支持64k行.XLSX最多支持1M.我尝试过的免费库具有糟糕的性能(当你有200k行时,一秒加载一行).我没有尝试过付费的,因为当你需要的是一个快速的XLSX < - > CSV转换例程时,我觉得它们的价值过高.

c# asp.net excel export-to-excel import-from-excel

177
推荐指数
8
解决办法
19万
查看次数

Excel"外部表格不是预期的格式".

我正在尝试使用下面显示的代码读取Excel(xlsx)文件.我得到一个"外部表不是预期的格式." 错误,除非我已在Excel中打开该文件.换句话说,我必须首先在Excel中打开文件,然后才能从我的C#程序中读取.xlsx文件位于我们网络上的共享中.如何在不先打开文件的情况下读取文件?谢谢

string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";

using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
    DataSet ds = new DataSet();
    adaptor.Fill(ds);
}
Run Code Online (Sandbox Code Playgroud)

c# excel-2007 xlsx import-from-excel

160
推荐指数
5
解决办法
34万
查看次数

在PHP中读取Excel文件

我正在尝试读取Excel文件(Office 2003).有一个Excel文件需要上传并解析其内容.

通过谷歌,我只能找到这些相关(和不充分的主题)的答案:生成Excel文件,阅读Excel XML文件,阅读Excel CSV文件或不完整的废弃项目.我拥有Office 2003,所以如果我需要任何文件,它们都可用.它安装在我的盒子上,但不能也不能安装在我的共享主机上.

编辑:到目前为止,所有答案都指向PHP-ExcelReader和/或关于如何使用它的这篇附加文章.

php import-from-excel

94
推荐指数
5
解决办法
32万
查看次数

文本被截断或目标代码页中的一个或多个字符不匹配从Excel文件导入时

我有一个包含四个文本列的excel文件:其中一个名为ShortDescription,具有最长的值.我在SQL Server 2008数据库中创建了一个表,其中包含四列,ShortDescription列类型设置为NvarChar(Max).

但是当使用SSIS导入和导出对话框时,即使我将OnTruncation选项设置为Ignore,我仍会在标题中收到上述错误.

我试图清除列数据,并且它成功了(所以我确保问题出在ShortDescription列中).我试图将整个数据复制到另一本excel工作簿,但仍然没有运气.

有任何想法吗 ???

excel ssis codepages import-from-excel sql-server-2008

58
推荐指数
4
解决办法
9万
查看次数

如何将数据从Excel电子表格导出到Sql Server 2008表

我想将数据从Excel文件(假设Excel 2003/.xls)导入到Sql Server 2008.

尝试将链接服务器添加到JET OLE DB Access驱动程序,当然它在64位计算机上失败.但是当我尝试在试验时丢弃链接服务器时,还有另一个错误,即链接服务器已经/仍然存在!

我也尝试将Excel驱动程序更改为32位(regedit工具)但不确定它是否正在执行任何操作,同样的错误即将发生!

更多细节:说Excel文件中的Table1有5列.我想再次使用5列映射到Database.dbo.Table1,但在表中使用不同的名称.还有办法做这样的导入吗?

sql import-from-excel sql-server-2008

44
推荐指数
1
解决办法
18万
查看次数

使用Open XML从C#中的Excel到DataTable

我正在使用Visual Studio 2008,我需要DataTable使用Open XML SDK 2.0从Excel工作表创建一个.我需要使用带有工作表第一行的DataTable列创建它,并使用其余值完成它.

有没有人有一个示例代码或链接可以帮助我这样做?

c# openxml import-from-excel openxml-sdk

38
推荐指数
3
解决办法
6万
查看次数

使用node.js读取Excel文件

好的,所以我使用FileUploader模块将我的文件从angular上传到我的REST API:

var uploader = $scope.uploader = new FileUploader({
    url: api.getUrl('uploadCompetence',null)
});
Run Code Online (Sandbox Code Playgroud)

这将发送到以下POST功能:

        router.route('/api/uploadCompetence')
        .post(function (req, res) {

        // This is where i want to read the file

            var competence = Competence.build(req.body.location);
            competence.add(function (success) {
                    res.json({message: 'quote created!'});
                },
                function (err) {
                    res.status(err).send(err);
                });
        })
Run Code Online (Sandbox Code Playgroud)

现在我的目标是读取excel文件,然后将每一行添加到我的数据库.

但是,我不太确定我如何从Node.js我调试我的服务器读取文件,无法在任何地方找到该文件,但从我的Angular应用程序调用api

任何人都可以把我推向正确的方向吗?:)

javascript import-from-excel node.js angularjs

36
推荐指数
4
解决办法
10万
查看次数

如何使用PHPExcel读取xlsx文件的第二张表?

我知道如何阅读我的xlsx电子表格并循环浏览第一张表格.

它有5张,我遇到的不是第一张.

这是我正在使用的代码,它直接来自文档.你可以看到我试图利用setActiveSheet,但这引发了错误Call to undefined method PHPExcel::setActiveSheet().

代码:

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("cmt_school_data.xlsx");
//$objPHPExcel->setActiveSheet(1);
$objWorksheet = $objPHPExcel->getActiveSheet();

echo '<table border=1>' . "\n";

foreach ($objWorksheet->getRowIterator() as $row) {

  echo '<tr>' . "\n";

  $cellIterator = $row->getCellIterator();

  // This loops all cells, even if it is not set.
  // By default, only cells that are set will be iterated.
  $cellIterator->setIterateOnlyExistingCells(false);

  foreach ($cellIterator as $cell) {
    echo '<td>' . $cell->getValue() . '</td>' . "\n";
  }

  echo '</tr>' . "\n"; …
Run Code Online (Sandbox Code Playgroud)

php import-from-excel phpexcel

24
推荐指数
2
解决办法
5万
查看次数

更快速地将Excel文件读取到pandas数据帧

我有一个14MB的Excel文件和五个工作表我正在阅读Pandas数据帧,虽然下面的代码有效,但需要9分钟!

有没有人有加快速度的建议?

import pandas as pd

def OTT_read(xl,site_name):
    df = pd.read_excel(xl.io,site_name,skiprows=2,parse_dates=0,index_col=0,
                       usecols=[0,1,2],header=None,
                       names=['date_time','%s_depth'%site_name,'%s_temp'%site_name])
    return df

def make_OTT_df(FILEDIR,OTT_FILE):
    xl = pd.ExcelFile(FILEDIR + OTT_FILE)
    site_names = xl.sheet_names
    df_list = [OTT_read(xl,site_name) for site_name in site_names]
    return site_names,df_list

FILEDIR='c:/downloads/'
OTT_FILE='OTT_Data_All_stations.xlsx'
site_names_OTT,df_list_OTT = make_OTT_df(FILEDIR,OTT_FILE)
Run Code Online (Sandbox Code Playgroud)

python import-from-excel pandas

23
推荐指数
4
解决办法
3万
查看次数

使用PHP Excel进行Excel日期转换

我正在使用此代码阅读来自excel的日期,该格式为12/5/2012日/月/年.使用PHP EXCEL

   PHPExcel_Style_NumberFormat::toFormattedString($value['A'],'YYYY-MM-DD' );
Run Code Online (Sandbox Code Playgroud)

它的工作就像将上述日期'12/5/2012'转换为'2012-12-05'

现在的问题是如果日期是让我们说18/5/2012或者你可以说如果我设置的日期大于12它会给我这个日期18/5/2012以这种格式18/5/2012格式化后

我也试过这个东西

      $temp  = strtotime(  PHPExcel_Style_NumberFormat::toFormattedString($value['A'],'YYYY-MM-DD' );
      $actualdate = date('Y-m-d',$temp) ;
Run Code Online (Sandbox Code Playgroud)

这也正在转换日期'12/5/2012'正确但在这种情况下18/5/2012它输出为1970-01-01

php import-from-excel

22
推荐指数
3
解决办法
6万
查看次数