0

我有两张excel表格-

第一张表列:

ColA ColB ColC ColD ColE (containing M rows) ~700 rows  
A     B    C    D    E  
AA   BB   CC    DD   EE

第二张表列:

Col1 Col2 Col3 Col4 (containing N rows) ~ 100 rows  
1     2    3    4
11    22   33   44 

最终结果集:

ColA ColB ColC ColD ColE Col 1 Col2 Col3 Col4  
A    B     C    D    E   1      2    3    4  
A    B     C    D    E   11    22    33   44  
AA   BB   CC   DD   EE   1      2     3    4  
AA   BB   CC   DD   EE   11    22    33    44  

我想要一个结果电子表格,它将是上述两张表的交叉乘法:MXN 行并将其复制回 csv/excel。

我正在使用 PHP 交叉连接两张纸。我已经在 csv 中转换了两张表,所以我的第一张表是 csv1,第二张是 csv2。

<?php
$csv1 = array_map('str_getcsv', file('Book1.csv'));
$csv2 = array_map('str_getcsv', file('Book2.csv'));

$ans = array();

foreach ($csv1 as $key1) {
    foreach ($csv2 as $key2) {
        $ans[] = $key1 . ' ' . $key2;
    }
}

$fp = fopen('file.csv','w');

foreach($ans as $fields) {
    fputcsv($fp, $fields);
}
?>

由于某种原因,这不起作用。服务器没有响应并且文件没有填充。

4

2 回答 2

0

如果您只想在 excel 中执行此操作,您可以使用 INDIRECT()、ROW() 和 MOD() 运算符来执行此操作。您应该知道,完全在 Excel 中进行计算并不是计算大约 70,000 行数据的最佳方法。

于 2016-02-15T02:25:14.710 回答
0

您将不得不编写一些 VBA 代码。如果更快意味着更容易,几乎不需要开发,则将 Access 中的两个工作表粘贴并附加为单独的表,并创建一个在两个表之间打开连接的查询,选择所有字段。

于 2016-02-15T02:13:02.620 回答